我有以下预定义的代码表示二进制位图中的索引:
0 = standard
1 = special
2 = regular
3 = late
4 = early
5 = on time
6 = generic
7 = rfu
我将作为输入的示例值是 213,它在二进制中变为 11010101。索引 0、2、4、6 和 7 的位翻转表示该记录为:标准 + 常规 + 早期 + 通用 + rfu。
我试图在 perl 中弄清楚如何获取二进制数据并构建一个字符串,就像上面提到的代码 + 代码 + 代码等一样。
任何帮助将不胜感激。谢谢。
编辑:我对如何解决这个问题的想法是:
- 十进制转二进制
- 查找二进制字符串的长度
- 使用 substr 按索引获取值(0 或 1)
- 如果索引值 = 1 则将相关代码添加到字符串
有没有更好的方法来解决这个问题?