Информатика и технология программирования


Байт, машинное слово - часть 2


.


R0 * 1 + R1 * 2 + R2 * 4 + ... + R15 * 32768 или

.


0 1 16
R0 * 2 + R1 * 2 + ... + R15 * 2

Например, машинное слово 0000000001001001 имеет значение 1+8+128 = 137. На практике вместо двоичной системы используются восьмеричная и шестнадцатеричная системы счисления. Это объясняется тем, что одна восьмеричная цифра принимает значения от 0 до 7 и занимает 3 двоичных разряда. Аналогично шестнадцатеричная цифра принимает значения от 0 до 15, что соответствует 4-м двоичным разрядам ( ТЕТРАДА ).

При необходимости представить машинное слово в его "натуральном" виде как последовательность двоичных разрядов лучше всего пользоваться шестнадцатеричными константами. Поскольку обычных цифр для представления значений от 0 до 15 не хватает, то для недостающих используются прописные или строчные латинские буквы:

.


A - 10, D - 13,
B - 11, E - 14,
C - 12, F - 15.

Сама константа содержит ряд шестнадцатеричных цифр, предваренный последовательностью "0x", например:

.


0x1234, 0x1B8C, 0xB8000000, 0xFFFF

Перевести эти константы в двоичную систему очень просто. Достаточно представить каждую цифру в виде четырех двоичных разрядов, задающих ее значение в двоичной системе:

.


0x1B8C = 0001 1011 1000 1100
1 B 8 C

И наоборот, значение любого машинного слова из двоичного представления легко перевести в шестнадцатеричную константу, разбив на тетрады и заменив значение каждой из них соответствующей цифрой 0..9A..F.

Но на самом деле программиста обычно не интересует представление всего слова в виде последовательности битов. По условию поставленной задачи ему требуется иметь установленными в 0 или 1 отдельные биты. Это также очень просто сделать, если считать номера разрядов справа налево по 4 в каждой цифре, начиная с 0. Например, если в константе требуется установить в 1 девятым разряд, то он будет находиться в третьей справа цифре, содержащей разряды с номерами 8..11. Все остальные цифры будут нулевыми. Значение же этой цифры с установленным девятым разрядом будет равно 2.


Начало  Назад  Вперед



Книжный магазин