Нужно ли упаковать / распаковать данные, прочитанные из двоичного файла, перед выполнением побитовых операций? - PullRequest
0 голосов
/ 18 августа 2011

Я прочитал два байта из двоичного файла в $ data и теперь должен выполнить побитовую обработку и.

Но когда я делаю

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

, я получаю сообщение об ошибке "Аргумент"@ \ 0 "не является числовым в числовом ne (! =)

Должен ли я сначала преобразовывать $ data?

Ответы [ 2 ]

4 голосов
/ 18 августа 2011

Почему вы используете строки для бинарных операций?

Используйте ($data & 0x100) != 0 и, при необходимости, конвертируйте $data в число.

0 голосов
/ 18 августа 2011

Да, если у вас есть два литеральных байта, которые следует интерпретировать как 16-битное число, вам необходимо распаковать его.

Кроме того, что сказал ThiefMaster.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...