Мне нужно записать 4-байтовое представление числа (176) в файл .bin. Я использовал следующую команду
perl -we 'print pack "N", shift' 176 >> package.bin
, и она отлично работает. Но теперь мне нужно сделать то же самое без использования perl. Является ли это возможным? Я могу найти решения только с perl, но, к сожалению, я не могу использовать его из-за требований проекта.
Я также попробовал это решение:
local n bit
for (( n=$1 ; n>0 ; n >>= 1 )); do bit="$(( n&1 ))$bit"; done
echo -n -e $bit > tobin.bin
Но оно не работает, потому что он записывает 10110000
в мой файл назначения, и это неверно, так как считается, что его длина составляет 8 байт, а не 4 (1 байт на каждый символ).