Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
430 Приложение 1 в двоичной системе н еобходимо всего два различных знака для цифр: о и 1 . Это и вызвало столь большое ее распространение в электронике : смоделировать два состояния электронной схемы и затем их безошибочно различить неизмеримо про ще, чем три, четыре и более, не говоря уж о десяти. Число, например, 1 1 О 1 тогда будет выглядеть так: 1 ·2 3 + 1 ·2 2 + 0 ·2 1 + 1 ·2 ° = 1 3 . Чтобы отличить запись числа в различных системах, часто внизу пишут основание системы: 1 1 0 1 2 = 1 3 1 0 . Шестнадцатеричная система имеет, как ясно из ее названия, основание шестна дцать. Для того чтобы получить шестнадцать различных знаков, изобретать ничего нового не стали, а просто использовали те же цифры от О до 9 для первых десяти и заглавные латинские буквы от А до F для знаков с одиннадцатого по шестнадцатый (часто вместо заглавных букв употребляют и строчные с теми же значениями) . Та ким образом, число 1 3 1 0 выразится в шестнадцатеричной системе, как просто D 1 6 • Соответствие шестнадцатеричных знаков десятичным числам следует выучить наи зусть: А- 1 0, В - 1 1 , С - 1 2, D - 1 3 , Е - 1 4, F - 1 5 (см. также таблицу далее). Значения больших чисел вычисляются по обычной формуле, например: A2FC 1 6 = 1 0· 1 6 3 + 2 · 1 6 2 + 1 5 · 1 6 1 + 1 2 · 1 6 ° = 40960 + 5 1 2 + 240 + 1 2 = 4 1 724 1 0 • Отдельные разряды двоичного числа называются битами, а отдельные разряды ше стнадцатеричного - тетрадами (потому что в них четыре двоичных знака) . Младший бит (разряд) двоичной записи числа называют сокращением LSB (Least Significant Bit), старший - MSB (Most Significant B it) . Английские сокращения не стоит путать с русскими, где буква «М» означает, еqтественно, «младший», так что LSB переводится как МЗР (младший знаковый разряд), а MSB - как СЗР (старший знаковый разряд). Самая употребляемая единица информации - байт, - состоит из двух тетрад, или восьми двоичных разрядов (отсюда и название: byte представляет собой сокраще ние от BinarY digiT Eight, восемь двоичных цифр). Один двоичный разряд может представить два числа (О и 1 ), одна тетрада - 1 6 чисел (от О до 1 5), один байт - 256 чисел (от О до 255) . Емкость одного регистра 8-разрядного АVR-контроллера равна одному байту. В Arduino однобайтовому числу соответствуют типы данных char (диа n азон от - 1 28 до 1 27), иnsigned char и просто byte (от О до 25 5 , т. е. от О до 2 8 -1 ) . В шестнадцатеричной форме максимальное число, представляемое одним байтом, запишется как FF 1 6 (т. е . содержит единицы во всех двоичных разрядах). Более крупные единицы: кwюбайт, мегабайт и т. д. образуются последовательным умножением на 1 024 (а не на 1 000, как в десятичной системе), но непосредственно в электронике употребляются только для характеристики объема памяти или ско ростей передачи данных. Вместо них в расчетах применяются числа, кратные од ному байту: двухбайтовые или четырехбайтовые слова. Двухбайтовое слово соот ветствует в Arduino типу int (от -32 768 до 32 767), а также иnsigned int или word (от О до 65 535 , т. е. от О до l 1 6 - I ) . Четырехбайтовые величины в Arduino соответству-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==