Системы счисления: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 30:
 
Примером «рафинированной» непозиционной системы счисления является [[Римская система счисления|римская система]].
 
== Восьмеричная и шестнадцатеричная системы счислений ==
Компьютерам очень удобно оперировать двоичными числами, но люди не привыкли работать с большим количеством цифр. Например, чтобы представить в двоичном виде число 1234 потребуется больше 10 двоичных цифр (10011010010). Поэтому были придуманы восьмеричная и шестнадцатеричная системы счислений. Они удобны как и десятичные числа тем, что для представления числа требуется меньшее количество разрядов. А по сравнению с десятичными числами, перевод в двоичное представление очень простой. Это как будто мы двоичное число разбили на группы по три или четыре разряда и каждой двоичной комбинации придумали значок. Вот таблица для восьмеричных цифр:
{|class="standard"
!Двоичная комбинация||Значок
|-
|000||0
|-
|001||1
|-
|010||2
|-
|011||3
|-
|100||4
|-
|101||5
|-
|110||6
|-
|111||7
|}
А вот таблица для шестнадцатеричных цифр:
{|class="standard"
!Двоичная комбинация||Значок
|-
|0000||0
|-
|0001||1
|-
|0010||2
|-
|0011||3
|-
|0100||4
|-
|0101||5
|-
|0110||6
|-
|0111||7
|-
|1000||8
|-
|1001||9
|-
|1010||A
|-
|1011||B
|-
|1100||C
|-
|1101||D
|-
|1110||E
|-
|1111||F
|}
Перевод произвести очень просто, посмотрим на примере числа 010011010010.
 
Разбиваем его на группы по три цифры: 010 011 010 010. И по таблице переводим: <math>2322_8</math>.
 
Чтобы перевести число в шестнадцатеричное представление разбиваем двоичное число на группы по четыре цифры: 0100 1101 0010. И по таблице переводим: <math>4D2_{16}</math>. С помощью калькулятора Windows мы можем убедиться, что всё проделано верно.
 
В программистских кругах шестнадцатеричные числа принято предварять значком 0x (например, 0x4D2), такое написание пошло от языка программирования C, либо значком $ (например, $4D2), такая нотация произошла от языка программирования Pascal. Иногда в литературе используют буквы «h» (от англ. hexadecimal) и «b» (от англ. binary) для обозначения соответственно шестнадцатеричных и двоичных чисел (например, FFh или 1011b).
 
== Ссылки ==