
- •Кодирование беззнаковых целых чисел
- •Беззнаковые целые (диапазон)
- •Беззнаковые целые (натуральный код)
- •Единичный код
- •Коды Грея и Джонсона
- •Кодирование знаковых целых чисел
- •Знаковые целые (диапазон)
- •Знаковые целые (дополнительный код)
- •Сравнение знаковых кодов
- •Кодирование более сложных объектов
- •Вещественные (диапазон и прореживание)
- •Числа с плавающей запятой (IEEE 754)
- •Строки
- •Порядок байтов в памяти
- •Адреса байтов и номера битов
- •Оперативная память под микроскопом
- •Регистр под микроскопом
- •Интерпретация данных в памяти
- •Операции над данными
- •Логические и побитовые операции
- •Расширение целых чисел
- •Битовые сдвиги
- •Арифметические операции: сложение, вычитание, умножение
- •Арифметические операции: деление

МИЭТ, СПИНТех, КАИ |
Представление данных |
1 / 20 |
Представление данных
Александра Игоревна Кононова
МИЭТ
25 сентября 2021 г. актуальную версию можно найти на https://gitlab.com/illinc/arch-cs
Кодирование беззнаковых целых чисел Кодирование знаковых целых чисел Кодирование более сложных объектов Порядок байтов в памяти Операции над данными

МИЭТ, СПИНТех, КАИ |
Представление данных |
2 / 20 |
Беззнаковые целые (диапазон)
Регистр из N битов может хранить 2N кодовых комбинаций, то есть кодировать не более 2N разных чисел.
Всего возможных кодов 2N ! 2N существует (2N )!
Для наглядности рассмотрим N = 4 (как у Atmel MARC4).
Беззнаковые целые целые неотрицательные числа (0 и 2N 1 натуральных): от 0 до 2N 1.
Для N = 4 целые 0 до 24 1 = 16 1 = 15.
натуральный двоичный код ¾естественное¿ представление; единичный код (как элемент сложных кодов байты в UTF-8); код Грея (для передачи и ГА); двоично-десятичные коды (много разновидностей ДДК); модулярное представление;
...
Кодирование беззнаковых целых чисел Кодирование знаковых целых чисел Кодирование более сложных объектов Порядок байтов в памяти Операции над данными
Беззнаковые целые (диапазон) Беззнаковые целые (натуральный код) Единичный код Коды Грея и Джонсона

МИЭТ, СПИНТех, КАИ |
Представление данных |
3 / 20 |
Беззнаковые целые (натуральный код)
Целые неотрицательные числа чаще всего кодируются натуральным двоичным кодом.
Код взвешенный: младший бит с весом 1, старший 2N 1:
x = 1 bit[0] + 2 bit[1] + 22 bit[2] + : : : + 2N 1 bit[N-1].
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
8 |
9 |
A (10) |
B (11) |
C (12) |
D (13) |
E (14) |
F (15) |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Беззнаковая арифметика в ВТ не целочисленная на N [ f0g, а кольцо Z2N вычетов по модулю 2N .
N |
N |
|
|
0 |
Беззнаковый сумматор сложение и вычитание по модулю 2N : |
2N |
|
||
(2 1) + 1 = 0: 1111 + 0001 = 0000 и бит переноса (флаг CF ). 0 1 = (2 |
1): |
|||
0000 0001 = 1111 и заём (тоже флаг CF ). |
|
|
|
|
Кодирование беззнаковых целых чисел Кодирование знаковых целых чисел Кодирование более сложных объектов Порядок байтов в памяти Операции над данными
Беззнаковые целые (диапазон) Беззнаковые целые (натуральный код) Единичный код Коды Грея и Джонсона

МИЭТ, СПИНТех, КАИ |
Представление данных |
4 / 20 |
Единичный код
Избыточный (на 2N кодовых комбинаций приходится только N + 1 чисел)
невзвешенный рефлексный (при переходе между кодовыми комбинациями изменяется только один бит) нециклический (max + 1 6= min) двоичный код
Для N битов целые 0 до N:
0 |
1 |
2 |
3 |
4 |
0000 |
0001 |
0011 |
0111 |
1111 |
|
0010 |
0101 |
1011 |
|
|
0100 |
1001 |
1101 |
|
|
1000 |
0110 |
1110 |
|
|
|
1010 |
|
|
|
|
1100 |
|
|
Кодирование беззнаковых целых чисел Кодирование знаковых целых чисел Кодирование более сложных объектов Порядок байтов в памяти Операции над данными
Беззнаковые целые (диапазон) Беззнаковые целые (натуральный код) Единичный код Коды Грея и Джонсона

МИЭТ, СПИНТех, КАИ |
Представление данных |
5 / 20 |
Коды Грея и Джонсона
Код Грея неизбыточный невзвешенный рефлексный циклический двоичный код
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0000 |
0001 |
0011 |
0010 |
0110 |
0111 |
0101 |
0100 |
8 |
9 |
A |
B |
C |
D |
E |
F |
1100 |
1101 |
1111 |
1110 |
1010 |
1011 |
1001 |
1000 |
Код Джонсона избыточный невзвешенный рефлексный циклический двоичный код
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0000 |
0001 |
0011 |
0111 |
1111 |
1110 |
1100 |
1000 |
Кодирование беззнаковых целых чисел Кодирование знаковых целых чисел Кодирование более сложных объектов Порядок байтов в памяти Операции над данными
Беззнаковые целые (диапазон) Беззнаковые целые (натуральный код) Единичный код Коды Грея и Джонсона