Все числовые данные хранятся в машине в двоичном виде, т.е. в виде последовательности нулей и единиц, однако формы хранения целых и действительных чисел различны.
Для представления чисел в памяти ПК используются два формата:
-формат с фиксированной точкой (запятой) целые числа;
-формат с плавающей точкой (запятой) вещественные числа.
Представление целых чисел
Множество целых чисел, представленных в ЭВМ, ограничено. Диапазон значений зависит от размера ячеек памяти, используемых для их хранения.
Для целых чисел существуют два представления:
-беззнаковое;
-со знаком.
В К-разрядной ячейке может храниться 2к различных значений целых чисел.
Диапазон значений целых беззнаковых чисел (только положительные):
от 0 до 2к - 1
для 16-разрядной ячейки от 0 до 65535
для 8-разрядной ячейки от 0 до 255
Диапазон значений целых чисел со знаком (и отрицательные, и положительные в равном количестве):
от -2к-1 до 2к-1-1
для 16-разрядной ячейки от -32768 до 32767
для 8-разрядной ячейки от -128 до 127
Чтобы получить внутреннее представление целого положительного числа N, хранящегося в К-разрядной ячейке, необходимо:
1. перевести число N в двоичную систему счисления;
2. полученный результат дополнить слева незначащими нулями до К разрядов.
Пример:
Получить внутреннее представление целого числа 1607 в 2-х байтовой ячейке.
Решение:
N=1607=110010001112.
Внутреннее представление этого числа будет: 0000 0110 0100 0111. Шестнадцатеричная форма внутреннего представления числа: 0647.
Для представления целого отрицательного числаиспользуется дополнительный код.
Дополнительным кодомдвоичного числа X в N-разрядной ячейке является число, дополняющее его до значения 2N.
Получение дополнительного кода:
1. получить внутреннее представление положительного числа N (прямой код);
2. получить обратный код этого числа заменой 0 на 1 или 1 на 0 (обратный код);