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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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

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

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

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

Например, в байте (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 разрядов, а для записи кода знака один разряд. Знаковым разрядом является старший разряд в разрядной сетке.

 

 

Прямой код

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

Пример. В случае, когда для записи кода выделен один байт, для числа +1101 прямой код 0,0001101, для числа -1101 прямой код 1,0001101.

Обратный код

Обратный код для положительного числа совпадает с прямым кодом.

Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.

Пример.

Для числа +1101 прямой код 0,0001101; обратный код 0,0001101.

Для числа -1101 прямой код 1,0001101; обратный код 1,1110010.

БИЛЕТ №5

Параметры-переменные подпрограмм. Пример использования



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 1239; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.201.24.171 (0.003 с.)