Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




 

Одним битом, как уже упоминалось, могут быть выражены два понятия: 0 или 1. Если количество битов увеличить до двух, то уже можно выразить четыре различных понятия: 00, 01, 10, 11. Тремя битами можно закодировать восемь различных значений: 000, 001, 010, 011, 100, 101, 110, 111. Увеличивая на единицу количество разрядов в системе двоичного кодирования, увеличиваем в два раза количество значений, которое может быть выражено в данной системе, то есть общая формула имеет вид:

,

где N – количество независимых кодируемых значений;

m – разрядность двоичного кодирования, принятая в данной системе.

Используя двоичную систему счисления, компьютер в одном байте может хранить любое целое число в диапазоне от 0 до 255 (от 00000000 до 11111111), а в двух байтах от 0 до 65535.

В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код. Последние две формы применяются особенно широко.

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

Десятичное число      
Двоичное представление      

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

1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа - двоичный код его абсолютной величины. Например:

Десятичное число –1 –2 –3
Двоичное представление      

2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы - нулями. Например:

Десятичное число –1 –2 –3
Двоичное представление      

3. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например:

Десятичное число –1 –2 –3
Двоичное представление      

Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа.

Числа, имеющие дробную часть, также называют вещественными. В большинстве программных систем при их написании вместо запятой принято писать точку. Так, например, число 5 – целое, а числа 5.1 и 5.0 – вещественные.

Для кодирования вещественных чисел используется 80-разрядное кодирование. При этом число предварительно преобразуют в форму представления чисел с плавающей точкой или нормализованную форму. В нормальной форме число представляется в виде произведения

X = m×q p,

где m – мантисса числа;

q – основание системы счисления;

p – порядок.

Например, для числа 3,1415926 = 0,31415926 × 101 мантисса равна 0,31415926, а порядок равен 1. Для задания числа в нормальной форме требуется задать знаки мантиссы и порядка, их модули в q -ичном коде, а также основание системы счисления. Нормальная форма представления чисел неоднозначна, ибо взаимное изменений m и p приводит к плаванию точки (запятой). Например, десятичное число 73,28 в нормальной форме может быть записано в следующих вариантах:

73,28 = 73,28× 100 = 7,328 × 101 = 0,7328× 102 = 0,07328 × 103 = …

Количество цифр в целой и дробной частях мантиссы и в порядке может быть любым. На знак числа и знак порядка требуется 2 бита. Если остальные 6 бит байта отдать под порядок (24 = 64), то получается достаточно большой диапазон по порядкам. При однобайтном порядке диапазон изменения чисел составляет от 2-128 до 2127 или приблизительно от 10-38 до 1038. Для большинства случаев этого бывает достаточно, так как на практике точность измерений обычно не превышает 10-8. Что касается мантиссы, то можно заметить, что чаще всего используются числа со сравнительно короткой мантиссой от 3 до 5 десятичных цифр и довольно редко – с мантиссами от 10 до 15 цифр. Для записи мантиссы берут 3 байта, при этом точность составляет 224 или 108. Таким образом, получается 4 байта вместе с байтом знаков и порядка, что согласуется с размером ячейки для длинных целых чисел. Действительные числа с длинной мантиссой до 15 значащих цифр обеспечиваются удвоением количества байтов, отводимых под число, причем 4 дополнительных байта отдаются целиком мантиссе. Этим способом достигается так называемая двойная точность вычислений.

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

Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.


Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате.




Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 2900; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.