Шестнадцатеричная система счисления
Материал из Википедии — свободной энциклопедии
Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от A до F для обозначения цифр от 10 до 15.
Содержание |
[править] Применение
Широко используется в низкоуровневом программировании и вообще в компьютерной документации, поскольку в современных компьютерах минимальной единицей памяти является 8-битный байт, значения которого удобно записывать двумя шестнадцатеричными цифрами. Такое использование началось с системы IBM/360, где вся документация использовала шестнадцатеричную систему, в то время как в документации других компьютерных систем того времени (даже с 8-битными символами, как, например, PDP-11 или БЭСМ-6) использовали восьмеричную систему.
[править] Способы записи
[править] В математике
В математике систему счисления принято писать в подстрочном знаке. Например, десятичное число 1443 можно записать как 144310 или как 5A316.
[править] В языках программирования
В разных языках программирования для записи шестнадцатеричных чисел используют различный синтаксис:
- В Ада и VHDL такие числа указывают так: "16#5A3#".
- В Си и языках схожего синтаксиса, например, в Java, используют префикс "0x". Например, "0x5A3".
- В некоторых ассемблерах используют букву "h", которую ставят после числа. Например, "5A3h". При этом, если число начинается не с десятичной цифры, впереди ставится "0" (ноль): "0FFh" (25510)
- Другие ассемблеры (AT&T, Motorola), а также Паскаль и некоторые версии Бэйсика используют префикс "$". Например, "$5A3".
- Другие версии Бэйсика используют для указания шестнадцатеричных цифр сочетание "&h". Например, "&h5A3".
- В языке разметки текста HTML (и CSS) для указания шестнадцатеричных значений используется символ '#' (например, bgcolor=#FFFFAA)
- В Unix-подобных операционных системах (и многих языках программирования, имеющих корни в Unix/linux) непечатные символы при выводе/вводе кодируются как \xCC, где CC - шестнадцатиричный код символа.
[править] Перевод чисел из одной системы счисления в другую
[править] Перевод чисел из шестнадцатеричной системы в десятичную
Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Например, требуется перевести шестнадцатеричное число 5A3 в десятичное. В этом числе 3 цифры. В соответствии с вышеуказанным правилом представим его в виде суммы степеней с основанием 16:
=5·256+10·16+3·1=1280+160+3=144310
[править] Перевод чисел из двоичной системы в шестнадцатеричную
Для перевода многозначного двоичного числа в шестнадцатеричную систему нужно разбить его на тетрады справа налево и заменить каждую тетраду соответствующей шестнадцатеричной цифрой.
Например:
[править] Таблица перевода чисел
Десятичное |
Шестнадцатеричное |
Двоичное |
0 |
0 |
0000 |
1 |
1 |
0001 |
2 |
2 |
0010 |
3 |
3 |
0011 |
4 |
4 |
0100 |
5 |
5 |
0101 |
6 |
6 |
0110 |
7 |
7 |
0111 |
8 |
8 |
1000 |
9 |
9 |
1001 |
10 |
A |
1010 |
11 |
B |
1011 |
12 |
C |
1100 |
13 |
D |
1101 |
14 |
E |
1110 |
15 |
F |
1111 |
См. также Таблица порядков двоичных, шестнадцатеричных и десятичных чисел