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

Содержимое удалено Содержимое добавлено
Отмена правки 40174 участника 95.188.198.224 (обсуждение)
Строка 195:
return 0;
}
 
==Двоичная система счисления==
В компьютерной технике очень часто используется двоичная система счисления. Такую систему очень легко реализовать в железе (кремнии, транзисторах, микросхемах), так как для нее требуется всего два устойчивых состояния (0 и 1).
 
Двоичная система счисления является позиционной системой. В ней используется две цифры: 0 и 1. В железе это может быть реализовано присутствием какого-либо физического явления или его отсутствием. Например: есть электрический заряд или его нет, есть напряжение или нет, есть ток или нет, есть сопротивление или нет, отражает свет или нет, намагничено или ненамагничено, есть дырка или нет и т.п.
 
Мы уже знаем, как переводить числа в различные системы счисления. Посмотрим, как это происходит с двоичной системой счисления. Переведём число в двоичной системе счисления в десятичную.
 
<math>10101010_2 = 1 \cdot 2^7 + 0 \cdot 2^6 + 1 \cdot 2^5 + 0 \cdot 2^4 + 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 0 \cdot 2^0 = 128 + 32 + 8 + 2 = 170</math>;
 
 
Вы это можете проверить на калькуляторе в Windows. Он умеет производить расчёты в двоичной, восьмеричной и шестнадцатиричной системах счисления. Теперь вы знаете, как он это проделывает. Если вы заходите посвятить свою жизнь программированию, то вам часто придётся работать со степенями двойки. Хорошо бы было их вам поскорее выучить. Вот таблица:
{|class="standard"
!Степень||Значение
|-
|0||1
|-
|1||2
|-
|2||4
|-
|3||8
|-
|4||16
|-
|5||32
|-
|6||64
|-
|7||128
|-
|8||256
|-
|9||512
|-
|10||1024
|-
|11||2048
|-
|12||4096
|-
|13||8192
|-
|14||16384
|-
|15||32768
|-
|16||65536
|}
Произведём обратное преобразование. Чтобы преобразовать число в десятичном виде к двоичному, нам нужно будет делить всё время на два и смотреть на остаток от деления. Возьмём число 33.
 
* 33 : 2 = 16 остаток 1;
* 16 : 2 = 8 остаток 0;
* 8 : 2 = 4 остаток 0;
* 4 : 2 = 2 остаток 0;
* 2 : 2 = 1 остаток 0;
* 1 : 2 = 0 остаток 1;
 
Получили <math>100001_2</math>.
 
Возьмём число 55. Посмотрим, что получится.
 
* 55 : 2 = 27 остаток 1;
* 27 : 2 = 13 остаток 1;
* 13 : 2 = 6 остаток 1;
* 6 : 2 = 3 остаток 0;
* 3 : 2 = 1 остаток 1;
* 1 : 2 = 0 остаток 1.
 
Получили <math>110111_2</math>.
 
Приведу ещё примеры со сложением, вычитанием, умножением и делением.
 
Сложение:
1001
1010
----
10011
Вычитание:
1110
0101
----
1001
Умножение:
1110
0101
----
1110
0000
1110
0000
-------
1000110
Деление:
1000110|101
101 -----
---- 0001110
111
101
---
101
101
---
00
 
== Система счисления с основанием е=2,718281828... ==