Потому что даже если код скомпилирован в «двоичный код», cat
просто выводит символы, которые являются 8-битными байтами.
Если вы используете, например, что-то вроде od -x
, вы увидите, что программа представлена в виде шестнадцатеричных чисел, что является наиболее распространенным представлением сегодня для "двоичных" данных.