====== числа ======
===== целые числа =====
==== двоичное представление ====
''0b'' - префикс, обозначающий, что число записано в двоичном виде.
49 = 32+16+1 = 25+24+20 = 0b110001
Нумерация битов:\\
<- старшие разряды\\
младшие разряды ->
==== шестнадцатеричное представление ====
''0x'' - префикс, обозначающий, что число записано в шестнадцатеричном виде.
0000 0 1000 8
0001 1 1001 9
0010 2 1010 a
0011 3 1011 b
0100 4 1100 c
0101 5 1101 d
0110 6 1110 e
0111 7 1111 f
Пример: 42 = 0b00101010 = 0x2A
===== знаковые числа =====
==== twos complement representation ====
Для обозначения знака числа используется тн //Two's complement representation// (два-дополнительный код). Это когда старший бит - знаковый.
++++пример|
для примера, 4-разрядные (4-битные) числа:
Биты Число
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 -8
1001 -7
1010 -6
1011 -5
1100 -4
1101 -3
1110 -2
1111 -1
++++
ф-ла для *-1:\\
''-x = x¯+1''\\
пример:\\
''-0001 = 0001¯+1= 1110+1 = 1111''
==== sign-magnitude ====
Реже используемое представление знаковых чисел:\\
Первый бит - бит знака, а в остальных битах модуль числа. (В таком представлении есть отдельно +0 и -0.)
===== разрядность =====
Разрядность числа - это количество цифр, из которых оно состоит.
8 бит'ная ячейка:
0b00000000 = 0
0b11111111 = 255
16 бит'ная ячейка:
0b0000000000000000 = 0
0b1111111111111111 = 65535