Представление числа в памяти
Представление числа в памяти — это запись числовой информации с помощью двоичного кода, то есть последовательности нулей и единиц. Количество необходимых разрядов зависит от числа возможных значений и выбранного способа хранения.
Компьютер использует двоичную систему счисления: значение каждого разряда определяется степенью двойки. Например, запись \(1011_2\) означает \(1\cdot2^3+0\cdot2^2+1\cdot2^1+1\cdot2^0=11_{10}\). Подробные способы записи чисел рассматриваются в статье о двоичном кодировании чисел.
Сколько нужно разрядов
Если требуется хранить \(M\) различных значений, минимальное число битов \(k\) находят из условия \(2^k\ge M\). Для диапазона целых неотрицательных чисел от \(0\) до \(N\) различных значений \(M=N+1\), поэтому используют формулу ниже.
Здесь \(\lceil x\rceil\) означает округление вверх. Если верхняя граница — число вида \(2^k-1\), вычисление особенно просто: например, значения от 0 до 255 требуют 256 вариантов, то есть 8 битов.
Нужно закодировать целые числа от 0 до 100. Всего значений \(M=101\). Так как \(2^6=64<101\), а \(2^7=128\ge101\), минимально требуется 7 битов.
Число разрядов двоичного кода не равно числу цифр исходной десятичной записи. Например, число 100 записывается тремя десятичными цифрами, но для его хранения без знака нужен 7-разрядный двоичный код. Для отрицательных чисел и вещественных значений применяются специальные способы, например представление знаковых чисел и представление вещественных чисел.
Сколько битов нужно, чтобы закодировать числа от 0 до 15 включительно?
Главное
- Числа в памяти хранятся как последовательности битов — нулей и единиц.
- \(k\) битов дают \(2^k\) различных комбинаций.
- Для \(M\) значений нужно \(k=\lceil\log_2 M\rceil\) битов.