Юрий Ревич - Занимательная микроэлектроника
- Название:Занимательная микроэлектроника
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-9775-0080-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Ревич - Занимательная микроэлектроника краткое содержание
Для широкого круга радиолюбителей
Занимательная микроэлектроника - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
2 1= 2 10=10 2;
2 2= 4 10= 100 2;
2 3= 8 10= 1000 2и т. д.
Способ состоит в следующем: пусть мы имеем, например, десятичное число 59. Подбираем наибольшую степень двойки из таблицы ранее, не превышающую этого числа: 32, что есть 5-я степень. Ставим 1 в шестом разряде: 100000. Вычитаем подобранную степень из исходного числа (59–32 = 27) и подбираем для остатка также степень, его не превышающую: 16 (2 4). Ставим единицу в 5-м разряде: 110000. Повторяем процедуру вычитания-подбора: 27–16 = 11, степень равна 8 (2 3), ставим единицу в 4-м разряде: 111000. Еще раз: 11 — 8 = 3, степень равна 2 (2 1), ставим единицу во 2-м разряде: 111010. Последнее вычитание дает 1, которую и ставим в младший разряд, окончательно получив 59 10= 111011 2. Если бы исходное число было четным, к примеру 58, то в последнем вычитании мы бы получили 0, и число в двоичной системе также оканчивалось бы на ноль: 58 10= 111010 2.
Кстати, полезно также обратить внимание, что числа, на единицу меньшие степени двойки, имеют количество разрядов, равное степени, и все эти разряды содержат единицы:
2 1— 1 = 1 10= 1 2;
2 2— 1 = 3 10= 11 2;
2 3— 1 = 7 10= 111 2;
Подобно тому, как наибольшее трехразрядное число в десятичной системе равно 999, и чисел таких всего 10 3= 1000 (от 000 до 999), в двоичной системе тех же трехразрядных чисел будет 2 3= 8 штук, в диапазоне от 000 до 111, т. е. от 0 до 7. Таким образом, наибольшее двоичное число с данным количеством разрядов будет всегда содержать все единицы во всех разрядах.
А вот из двоичной системы в шестнадцатеричную и обратно перевод очень прост: 16 есть 2 4и без всяких вычислений можно утверждать, что одноразрядное шестнадцатеричное число будет иметь ровно 4 двоичных разряда. Поэтому перевод из двоичной системы в шестнадцатеричную осуществляется так: двоичное число разбивается на т. н. тетрады, т. е. группы по четыре разряда, а затем каждая тетрада переводится отдельно и результаты выписываются в том же порядке. Так как в тетраде всего 16 вариантов, то их опять же легко выучить наизусть:

Например, число 59 10, т. е. 0011 1011 2, будет равно 3Bh.
Точно так же осуществляется и обратный перевод — каждое шестнадцатеричное число просто записывается в виде совокупности тетрад. Так, число A2FC 16выразится, как 1010 0010 1111 1100 2. Заметьте, что пробелы между тетрадами введены просто для удобства восприятия, подобно пробелам между тройками разрядов (классами) в записи больших десятичных чисел, и никакой иной нагрузки не несут. При записи двоичных чисел в тексте программ, как ассемблерных, так и программ на языках высокого уровня, естественно, эти пробелы ставить запрещается.
В качестве упражнения можете поразмыслить над вопросом, как переводить числа из двоичной в восьмеричную и четверичную системы, и наоборот: если вы справитесь с этим самостоятельно, считайте, что вы все поняли насчет систем счисления, применяемых в электронике.
Байты
Слово байт (byte) создано искусственно и представляет собой сокращение от BinarY digiT Eight, что буквально переводится, как «двоичная цифра восемь». На самом деле байт — это просто восьмиразрядное двоичное число. Соответственно, он имеет ровно два шестнадцатеричных разряда, или две двоичных тетрады. Такой байт был введен фирмой IBM в конце 50-х годов прошлого века, до этого (а в СССР — вплоть до 1969 года) применялись байты с другим количеством разрядов (5, 6 и 7).
Почему именно 8 разрядов? Да просто потому, что так удобно: число кратно степени двойки, т. е. легко масштабируется, скажем, шестнадцатиразрядное число — просто два байта, записанные подряд, подобно тетрадам в самом байте. В то же время оно относительно невелико и одновременно достаточно емко: имеет 256 значений, которых с лихвой хватает, к примеру, для представления всех печатных знаков европейских алфавитов (во всяком случае, до нашествия фирмы Microsoft с ее системой Windows хватало — что, конечно же, следует рассматривать, как шутку).
Поэтому в настоящее время байт — общепринятая единица измерения информации, т. к. основную единицу — бит — на практике применять неудобно из-за ее «мелковатости», числа получаются слишком большими. Применяют и меньшие единицы (кроме бита, это полубайт, или просто одно шестнадцатеричное число), и большие — двухбайтовые (65 536 значений), четырехбайтовые (32 двоичных разряда или 4 294 967 296 значений) и даже восьмибайтовые числа. Все они часто называются словами — «word».
Однако на практике распространение получила запись больших количеств информации по системе, «слизанной» с десятичной: это килобайт (1024 или 2 10байта), мегабайт (1024 или 2 10килобайта) и гигабайт (1024 или 2 10мегабайта). Близостью значения 1024 к десятичной тысяче широко пользуются производители жестких дисков — так, емкость диска в 10 Гбайт может быть вовсе не 1024x1024 килобайта, как положено, а 1000x1000, что почти на пять процентов меньше. Пустячок — а ведь приятно обмануть покупателя, который потом будет с недоумением раздумывать, почему ему в настройках компьютера показывается вовсе не 10, а 9,54 Гбайта, и куда исчезли «родные» 460 Мбайт? Однако имейте в виду, что подобные фокусы все же выкидываются только в отношении наивных покупателей, а в серьезной технической документации кило- и мегабайты обычно означают то, что положено.
Подробности
В однобуквенных сокращениях принято обозначать байт большой буквой (Б), чтобы отличить его от бита (б), но в критичных случаях во избежание разночтений следует писать полностью: «кбайт», «кбит». В 1999 году Международная электротехническая комиссия (МЭК) с большим опозданием попыталась устранить неоднозначность в обозначениях кратности, введя специальные двоичные приставки киби (вместо «кило»), меби (вместо «мега») и гиби (вместо «гига»), означающие умножение на 1024 вместо 1000. Однако «килобайты» и «мегабайты» к тому времени настолько прижились, что эти не очень удачно звучащие обозначения так и не стали общепринятыми. Приставку «кило» в единицах информации иногда предлагают писать с большой буквы (Кбайт), чтобы подчеркнуть, что речь идет об умножении на 1024, а не на 1000, однако для приставок «мега» и «гига» (а также всех остальных) такого удобного приема уже нет. В большинстве случаев эти неоднозначности проблем не вызывают.
На практике можно встретить обозначение единиц информации из одной буквы (напр. «256 К памяти»), но злоупотреблять таким способом не следует, т. к. часто приходится гадать, идет ли тут речь о битах, байтах, словах или вообще бодах (см. далее). Мы вслед за фирменным описанием Atmel будем пользоваться такой нотацией (К или М без указания единиц), но исключительно для обозначения абсолютных чисел (например, «диапазон 4 М», что значит 4 х 1024 х 1024 = 4194304), обозначающих обычно адреса в памяти программ, разбитые по двухбайтовым словам.
Читать дальшеИнтервал:
Закладка: