Лекция: Компьютерное представление целых чисел.

Целые числа – это простейшие числовые типы данных, с которыми оперирует компьютер. Для представления целых чисел используются специально для них предназначенные типы данных.

Специальные типы для целых чисел вводятся для:

· эффективного расходования памяти;

· повышения быстродействия;

· введения операции деления нацело с остатком вместо приводящего к потере точности обычного деления вещественных чисел.

В подавляющем большинстве задач, решаемых с помощью ЭВМ, многие действия сводятся к операциям над целыми числами. Сюда относятся задачи экономического характера, при решении которых данными служат количества акций, сотрудников, деталей, транспортных средств и т.д. Целые числа используются для обозначения даты и времени, и для нумерации различных объектов: элементов массивов, записей в базах данных, машинных адресов и т.д.

Для компьютерного представления целых чисел обычно используется несколько различных типов данных, отличающихся друг от друга количеством разрядов. Чаще всего используется восьми-, шестнадцати– и тридцатидвухразрядное представление чисел (один, два или четыре байта соответственно).

Для целых чисел существуют два представления: без знаковое (только для неотрицательных целых чисел) и со знаком. Очевидно, что отрицательные числа можно представлять только в знаковом виде.

Различие в представлении целых чисел со знаком и без знака вызвано тем, что в ячейках одного и того же размера в без знаковом типе можно представить больше различных положительных чисел, чем в знаковом.

Например, в байте (8 разрядов) можно представить без знаковые числа от 0 до 255.

Максимальное число, записанное в восьми разрядах ячейки соответствует восьми единицам и равно:

111111112 = 1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20= 255.

Таким образом, для без знаковых типов нижняя граница диапазона значений всегда равна 0, а верхнюю границу диапазона допустимых значений можно подсчитать, зная количество разрядов, занимаемых элементами данного типа.

Верхняя граница диапазона допустимых значений для без знаковых типов рассчитывается по формуле 2k – 1, где k – количество разрядов в ячейке

Знаковые положительные числа в байте можно представить только от 0 до 127.

Старший (левый) разряд отводится под знак числа, остальные

7 разрядов под само число. Максимальное число в знаковом представлении соответствует семи единицам и равно:

11111112 = 1*26 + 1*25 + 1*24 + 1*23 + 1*2 + 1*21 + 1*20= 127.

Поэтому, если известно, что некоторая числовая величина является неотрицательной, то лучше рассматривать ее как без знаковую.

Диапазон допустимых значений для знаковых типов рассчитывается по формулам:

Нижняя граница допустимых значений: 2k-1;

Верхняя граница допустимых значений: 2k-1 – 1, где k – количество разрядов в ячейке.

Рассмотрим алгоритм представления в компьютере целых положительных чисел.

Пример: Требуется получить внутреннее 8-разрядное представление десятичного числа 54.

1. Для этого целое положительное число переводится в двоичную систему счисления.

2. Полученное двоичное число записывается в 8 разрядах так, что в младшем разряде ячейки находится младший разряд числа.

3. Двоичное число дополняется, если это необходимо, слева нулями до соответствующего числа разрядов (8-ми, 16-ти, 32-х и более);

Мы рассмотрели компьютерное представление целых положительных чисел.

Следующий вопрос: как представляются в компьютере целые отрицательные числа.

В ЭВМ в целях упрощения выполнения арифметических операций применяют специальные коды для представления чисел. Использование кодов позволяет свести операцию вычитания чисел к операции поразрядного сложения кодов этих чисел.

Применяются прямой, обратный и дополнительный коды чисел.

К кодам выдвигаются следующие требования:

1) Разряды числа в коде жестко связаны с определенной разрядной сеткой.

2) Для записи кода знака в разрядной сетке отводится фиксированный, строго определенный разряд.

Например, если за основу представления кода взят один байт, то для представления числа будет отведено 7 разрядов, а для записи кода знака один разряд. Знаковым разрядом является старший разряд в разрядной сетке.

еще рефераты
Еще работы по информатике