Представление чисел в памяти компьютера: целые, вещественные, символы
Компьютер представляет числа, символы и другие данные в виде двоичного кода. Способы представления зависят от типа данных: целые числа, вещественные числа и символы имеют свои особенности кодировки.
Целые числа представляются в памяти компьютера в двоичной системе счисления. Важно учитывать разрядность (количество бит) и способ представления (знаковые или беззнаковые числа).
Способы представления
-
Беззнаковое представление:
- Используются только положительные числа и ноль.
- Диапазон: до , где — количество бит.
-
Знаковое представление:
- Используется для представления как положительных, так и отрицательных чисел.
- Способы кодировки:
- Прямой код
- Обратный код
- Дополнительный код (наиболее распространённый)
Пример
Для -битного знакового числа в дополнительном коде:
Вещественные числа
Вещественные числа (числа с плавающей запятой) представляются в формате, соответствующем стандарту IEEE 754. Они состоят из трёх частей:
- Знак: определяет положительное или отрицательное число.
- Порядок: экспонента, определяющая положение десятичной точки.
- Мантисса: дробная часть числа.
Форматы IEEE 754
-
Одинарная точность (32 бита):
- бит — знак
- бит — порядок
- бита — мантисса
-
Двойная точность (64 бита):
- бит — знак
- бит — порядок
- бита — мантисса
Пример
Число в формате IEEE 754 (одинарная точность):
- Знак:
- Порядок: (смещённая экспонента )
- Мантисса:
Результат:
Символы
Символы представляются в памяти как числа, соответствующие их кодам в таблицах символов. Наиболее распространённые таблицы:
- ASCII:
- Использует бит для кодировки.
- Примеры:
- Пробел =
- Unicode (UTF-8, UTF-16):
- Расширяет ASCII для представления символов из различных языков и систем письма.
- Использует переменную длину кодирования (от до байт).
Пример
Символ “’A’” в памяти компьютера:
- ASCII:
- UTF-8: (совпадает для базовых символов ASCII)
Заключение
Понимание представления данных в памяти компьютера является ключевым аспектом программирования и компьютерной науки. Целые числа, вещественные числа и символы имеют свои форматы представления, оптимизированные для различных задач. Эти различия влияют на объём памяти, точность вычислений и совместимость данных между системами.