2016-10-12 5 views
2

Я знаю его просто, но я до сих пор этого не знаю. Некоторые люди говорят, что три - это 7 бит, которые представляют персонажа, а некоторые говорят 8. Так кто может просто сказать мне, какой из них прав? Если это 8 бит/символ, то сколько битов представляет собой байт? и если это 7, то Сколько бит представляет символ и сколько битов представляют ОДИН байт?Сколько битов представляет ОДИН персонаж и сколько битов представляет один байт в ASCII?

ответ

2

US-ASCII действительно 7 бит на символ. Самый старший код имеет значение 127, которое представляет собой управляющий символ DEL. Любой набор символов, который имеет коды с более высокими значениями, не является US-ASCII (но может быть его расширением, например Unicode).

Большинство микропроцессоров работают с байтами (= наименьшая адресуемая единица хранения) из восьми бит. Если вы хотите использовать US-ASCII с этими микропроцессорами, у вас есть два варианта:

  • Используйте 7 байт (8 бит каждый) для хранения 8 символов (7 бит каждый), несмотря на то, что делает программы очень сложный.
  • Используйте 1 байт (из 8 бит) для хранения 1 символа (из 7 бит), даже если вы потеряете пространство.

Потребность в простых программах перевешивает необходимость эффективного использования памяти в этом случае. Вот почему вы обычно используете один 8-разрядный блок (короткий, для октета) для хранения символа, хотя каждый символ кодируется только в 7-битных единицах. Вы просто установите дополнительный бит в ноль (или, как это было в некоторых случаях, используйте дополнительный бит для обнаружения ошибок).

Смежные вопросы