Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Ликбез 433 случае будет ошибкой. Поэтому в общем случае перед проведением операций с упакованными ВСD-числами их распаковывают, перемещая старший разряд в отдельный байт и заменяя в обоих байтах старшие полубайты нулями. В качестве примера хранения чисел в упакованном ВСD-формате можно привести значения часов, минут и секунд в микросхемах энергонезависимых часов RTC (см. главу 13) . Аrduinо-биб:Лиотеки делают распаковку-упаковку незаметно для пользователя, а нам придется заниматься этим самостоятельно. П еревод из одно й системы счисления в другую Для перевода шестнадцатеричной или двоичной записи в десятичную надо число просто разбить на тетрадь� и перевести каждую в отдельности. После этого деся тичное число вычисляется по общей формуле, как последовательное умножение разрядов на степени числа 1 6 (пример см. в разд. «Десятичные, двоичные и шест надцатеричные числа») . Для перевода тетрад в десятичную форму несложно за помнить следующую табличку (см. табл. П l . 1 ) . Таблица П1 . 1 DEC о 1 2 3 4 5 6 7 НЕХ о 1 2 3 4 5 6 7 BIN 0000 000 1 001 0 001 1 0 1 00 0 1 0 1 0 1 1 0 01 1 1 DEC 8 9 1 0 1 1 1 2 1 3 1 4 1 5 НЕХ 8 9 А в с D Е F BIN 1 000 1 00 1 1 0 1 0 1 0 1 1 1 1 00 1 1 0 1 1 1 1 0 1 1 1 1 Например, шестнадцатеричное число FF в двоичном виде будет выглядеть как во семь единиц: 1 1 1 1 1 1 1 1 . В десятичный вид это переводится как FF 1 6 = F х 1 6 + F или 1 5 х 1 6 + 1 5 = 255 1 0 . Сложнее переводить из десятичной системы, и для этого в учебниках рекомендует ся устрашающая процедура, основанная на делении столбиком. При некотором на выке небольшие числа можно научиться переводить в уме, руководствуясь этой же табличкой: их разбивают на сумму чисел, кратных тетраде, и переводят по отдель ности - например, 59 есть сумма 3 · 1 6 + 1 1 = $3В . Для любого электронщика также полезно знать таблицу степеней двойки до 1 6 (см. табл . П l .2) . Таблица П1 .2 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 4 8 1 6 32 64 1 28 256 2 9 2 1 0 2 1 1 2 1 2 2 1 3 2 1 4 2 1 5 2 1 6 5 1 2 1 024 2048 4096 8 1 92 1 6384 32768 65536
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==