在执行按位操作之前,是否需要打包/解压缩从二进制文件读取的数据?

时间:2011-08-18 11:17:19

标签: perl

我已经将二进制文件中的两个字节读入$ data,现在需要执行按位和。

但是当我做的时候

if (($data & "\x100") != 0) {

我收到错误参数“@ \ 0”在数字ne(!=)

中不是数字

我应该先转换$ data吗?

2 个答案:

答案 0 :(得分:4)

为什么使用字符串进行二进制操作?

使用($data & 0x100) != 0,并在必要时将$data转换为数字。

答案 1 :(得分:0)

是的,如果您有两个应该被解释为16位数字的文字字节,则需要将其解压缩。

最重要的是,ThiefMaster说的话。