Добавил:
ИВТ (советую зайти в "Несортированное") Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
23.11.2024
Размер:
1.01 Mб
Скачать

МИЭТ, СПИНТех, КАИ

Представление данных

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

Кодирование беззнаковых целых чисел Кодирование знаковых целых чисел Кодирование более сложных объектов Порядок байтов в памяти Операции над данными

Беззнаковые целые (диапазон) Беззнаковые целые (натуральный код) Единичный код Коды Грея и Джонсона

Соседние файлы в папке АВС