48 lines
2.5 KiB
Markdown
48 lines
2.5 KiB
Markdown
## Кодирование
|
||
### Двоичное кодирование
|
||
|
||
![[Сигналы.png]]
|
||
|
||
#### Достоинства
|
||
1. Надежно и помехоустойчиво
|
||
2. Простая арифметика
|
||
3. Диапазоны и точность наращиваются разрядностью (слева и справа соотвественно)
|
||
4. Погрешности "by design", а не "by implementation"
|
||
#### Недостатки
|
||
1. Нечитаемое представление
|
||
2. Простые десятичные дроби записываются в виде бесконечных двоичных дробей
|
||
3. Дискретное кодирование сигналов (точность)
|
||
## Машинное слово. Представления данных
|
||
- Машинное слово - единица данных, естественная для обработки вычислителем
|
||
- Примеры: сложение, пересылка и т.п.
|
||
- Целые числа
|
||
- Позиционные системы счисления
|
||
- Дополнительный код
|
||
- Big & Little endian
|
||
- Дроби
|
||
- С фиксированной точкой
|
||
- С плавающей точкой
|
||
- Перечисления
|
||
- Двоично-десятичное кодирование
|
||
- Символы (старые кодировки)
|
||
- Тегированные данные
|
||
|
||
![[Little & Big endian.png]]
|
||
|
||
### Классификация типов по версии IBM
|
||
|
||
![[IBM types.png]]
|
||
## Код Грея и BCD
|
||
### Код Грея
|
||
Две "соседние" кодовые комбинации различаются только в одном двоичном разряде
|
||
### BCD
|
||
Форма записи рациональных чисел, когда каждый десятичный разряд числа записывается в виде его четырехбитного двоичного кода
|
||
|
||
![[Gray and BCD.png]]
|
||
### Base64 и Base58
|
||
### Base64
|
||
Стандарт кодирования двоичных данных при помощи только 64 символов ASCII. Алфавит кодирования содержит латинские символы A-Z, a-z, цифры 0-9 (всего 62 знака) и 2 дополнительных символа
|
||
|
||
![[Base64.png]]
|
||
### Base58
|
||
Модификация Base64 для избежания неоднозначных символов (0, I, O, |). В конце сообщения - хешсумма (checksum) |