小编Sie*_*epp的帖子

Perl:如何从一个字节中提取某些位然后将这些位转换为十六进制值?

我需要提取一个字节的某些位并将提取位转换回十六进制值.

示例(字节的值为0xD2):

76543210 bit position
11010010 is 0xD2
Run Code Online (Sandbox Code Playgroud)
  • 位0-3定义了信道,其是0010b0x2
  • 位4-5定义了控制器,其是01b0x1
  • 位6-7定义了端口,其是11b0x3

我不知何故需要从字节0xD2到通道是0x2,控制器是0x1,端口是0x3

我googled分配并找到了函数pack/ unpack,vecsprintf.但是我正在摸索如何使用这些功能实现这一目标.知道如何在Perl中实现这一点吗?

perl bit-manipulation bitmap text-parsing bit

7
推荐指数
1
解决办法
4309
查看次数

标签 统计

bit ×1

bit-manipulation ×1

bitmap ×1

perl ×1

text-parsing ×1