Преобразование строк двоичных цифр в число с использованием Python в командной строке:
binary=00001111
DECIMAL=$(python -c "print int('$BINARY', 2)")
echo $decimal
См. Документы для функции int .
Ой, подождите, я неправильно понял вопрос, вы хотите знать, что вам дает преобразование в двоичный файл. Ну, это зависит от того, что вы подразумеваете под "преобразовать в двоичный файл". Скажем, я хочу сохранить файл с миллионами целых чисел. Целые числа будут между 0 и 32 000. Если бы я сохранял их в виде текста, для каждого числа потребовалось бы в лучшем случае два байта (однозначное число и разделитель), в худшем случае шесть байтов (пятизначное число и разделитель) со средним размером 4,6 байта на число ( см. комментарий к математике). У меня тоже не было бы простого способа выбрать 15-й номер. Если бы я хранил их как 16-битные целые числа (в двоичном виде), каждое число занимало бы ровно два байта, и я мог бы найти 15-е число с помощью seek
, чтобы сместить 2*(15-1)
и считав два байта. Кроме того, когда я делаю математику в текстовой версии, я (или мой язык) должен сначала преобразовать строку в число, тогда как двоичная версия уже является 16-битным числом.
Итак, вкратце, вы используете двоичные типы для
- Экономия места
- имеют постоянные размеры записей
- Ускорение программ