Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Система представления чисел с фиксированной запятой.




 

Такую систему обозначают: P( b, t, f ).

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

t – количество разрядов для записи числа;

f - количество разрядов для записи дробной части.

 

Рассмотрим пример системы с фиксированной запятой Р(10, 4, 1); здесь b=10, t=4,f=1.

мин. число, которое можно записать в этой системе = -999.9;

макс число = +999.9;

всего положительных чисел + нуль = 10 000;

всего отрицательных чисел = 9 999

Любое число из [ -1000; 1000] представимо системе Р(10, 4, 1) с ошибкой £ 0.05

Пример: если x=865.54; его представление в P(10, 4, 1) обозначим как p(x)= 865.5. Ошибка = x-p(x) = 0.04. Относительная ошибка Е= ( x-p(x) ) /x = 0.04 / 865.54 = 0.005%.

Если х = 0.86554 , р(х) = 0.9 è Е = 0.0398 .. = ~ 4%

Вывод: система P(b, t, f) образует равномерную сетку , но относительная ошибка при записи чисел в этой системе не является равномерной.

Система P( b, t, f ) используется в современных ЭВМ только для записи целых чисел в двоичной системе (со знаком и без знака), то есть b=2, f=0. Для записи целых чисел в современных компьютерах может отводиться, например, 8, 16, 32 бита (t =8, 16, 32). Отведённые биты нумеруются справа налево, начиная с нуля. Если целое число со знаком, то старший бит хранит знак числа: 0 соответствует знаку +, 1 указывает на отрицательное число.

Пример: целые со знаком Р( 2, 8, 0). Для их записи требуется 8 бит. Вот как будет записано числ +75 = 26+23 +21+20 в 8-битовом коде: 0100 1011. Степень двойки в записи числа указывает на то, что соответствущий бит его двоичного представления содержит 1.

 

 

7 бит (знак) 6 бит 5 бит 4 бит 3 бит 2 бит 1 бит 0 бит

 

1*64+1*8+1*2+1 =75

 

Для записи отрицательных целых чисел используется дополнительный код. Правилодля записи отрицательного числа (-N) в дополнительном коде:записать двоичный кодсоответствующегоположительного целого N и дополнить его слева до нужного числа битов нулями ( до 8, или до 16, или до 32 битов). Затем нужно инвертировать полученный код (операция инверсии двоичного кода заключается в замене всех 0 на 1, и всех 1 на 0). После этого надо прибавить к младшему разряду инвертированного кода 1. Это и будет дополнительный код отрицательного числа (-N).

Пример 1. Записать дополнительный 8 битовый код числа -95. Решение: запишем 95 в двоичном коде: 95 = 64+16+8 +4+2+1 = 101 1111. Дополним этот код слева нулём (чтобы получилось 8 бит): 0101 1111. Инвертируем полученный код : 1010 0000. Прибавим 1 к младшему разряду данного кода: 1010 0001. Это и будет дополнительный двоичный код числа -95. Для проверки сложим полученные коды:

+ 95 : 0101 1111

-95 : 1010 0001

(1) 0000 0000 - это ноль в 8-ми битовом представлении. Единица при переносе из восьмого бита теряется.

Максимальное положительное 8-ми битовое число 0111 1111 = +127. Число 1000 0001 = -127. Минимальное отрицательное 8-ми битовое = 1000 0000 = -128. Т.е. диапазон однобайтовых целых чисел со знаком от -128 до +127. Всего можно представить 256 чисел.

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

Пример2. Какое целое число со знаком записано в 8-ми битовом коде 1010 0011 ?

Инвесия = 0101 1100; Прибавим 1 : 0101 1101. –> это число 26+24+23+22+20 = 64+16+8+4+1 = 93. Т.е. заданный код дополнительный код соответствует числу -93.

 

В качестве примера выпишем все возможные целые со знаком, если для их записи используется 4 бита:

 

знак 2 бит 1 бит 0 бит 10сс   знак 2 бит 1 бит 0 бит 10сс
  -1
  -2
  -3
  -4
  -5
  -6
  -7
  -8

 

Например, 3 è 0011 è инвертируем его: 1100 è прибавляем к нему 1 : 1101 = -3.

Диапазон чисел в данной таблице: от -8 до 7. В компьютерах 4-х битовые числа не используются. Вычислим, например, 2 – 5 = 0010 +1011 = 1101 – это число (-3).

В Turbo Pascal используются, например, такие целые типы :

Byte = 1 байт без знака = 28 чисел = 0 .. 255

ShortInt = 1 байт со знаком = -128 .. 127 = от -27 до 27-1

Word = 2 байта без знака = 216 чисел = 0 .. 65 535

Integer = 2 байта со знаком (один бит под знак) = -32 768 .. 32 767 = - 216 .. +(216-1).

 


Поделиться:

Дата добавления: 2015-08-05; просмотров: 390; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты