Внутрішнє подання даних стандартних типів
x8N-1 28N-1+ x1 2+x0.
Наприклад, комбінація 00 00 задає число 0, комбінація 00 01 – "один", 00 10 – "два", 11 11 – число 28N-1.
Таблиця 11.1
числокод
28N-1 - 101 11
28N-1 - 201 10
100 01
000 00
-111 11
-211 10
-28N-1 + 110 01
-28N-110 00
Знаковi числа займають ті самі N , тобто 1, 2 або 4 байти. Найстарший біт зображає знак числа: 0 – знак '+', 1 – знак '-'. Додатні числа подаються так само, як i беззнакові, лише за рахунок знакового біта дiапазон їх менший – від 0 до 28N-1-1. За N=1, 2 або 4 це відповідно 127, 32767 та 2147483647. Таке подання називається прямим кодом. Наприклад, прямим кодом максимального цілого є 011 1.
Від'ємні числа подаються в коді, названому додатковим. Для від'ємного числа A він позначається D (A) й утворюється так:
1) за прямим кодом числа |A| заміною всіх 0 на 1 та всіх 1 на 0 будується обернений код R(A);
2) за R(A) як беззнаковим цілим числом обчислюється D(A)=R(A)+1.
Очевидно, що D(A)=R(|A|-1). Наприклад, побудуємо двобайтовий додатковий код числа –144. Прямим двобайтовим кодом числа 144 буде
0000'0000'1001'0000
(апострофи записано для наочності), оберненим –
1111'1111'0110'1111.
До нього додається 1:
1111'1111'0110'1111