2013-12-08 3 views
-1

Например, предположим, что я хочу упаковать следующие биты: 11111, который равен 31 десятичной. Как я могу упаковать эти 5 бит? Я не хочу упаковывать 8 бит или 1 байт. Мне нужно упаковать только 5 бит; 11111Возможно ли упаковать 5 бит в perl?

b5 "11111", похоже, не работает для меня.

+8

Пакет в _what_? Самый маленький блок, который вы можете читать или писать, - 8 бит. Вопрос не имеет смысла, как написано. –

+0

Да, но вы читаете 5 бит из байта, устанавливая неиспользованные биты в 0. – Jason

ответ

4

работает для меня:

print oct "0b11111"; 
    31 
    print ord(pack("b*","11111")); 
    31