Files
obsidian/Computer Science/Системные паттерны/Представление данных.md
T
roma-dxunvrs 05a67d2998
deploy / Pull and Restart (push) Successful in 17s
18.09.26
2026-09-18 22:52:40 +03:00

48 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Кодирование
### Двоичное кодирование
![[Сигналы.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)