Читайте также:
|
|
Десятичные числа
Х1=-123,45·10+5
Нормализация 1
Х1=-,12345·10+8
Нормализация 2
-1,2345·10+7
Пример задания 3.5 лабы 2
Исходные данные:
Номер в журнале N = 31=111112.
Х= N /70=0,4429 (4 цифры после запятой)
Х=0,4429=,0111000101102 (смотри л4).
Записываем N в форме с фиксированной запятой (8 бит со знаком)
Nф=0|0011111,2 (первый бит знак: 0 - +, 1 - минус)
Записываем N в форме с плавающей запятой (мантисса и порядок по 8 бит со знаком)
М P
Nпл = 0|0011111,2 0|00000002 (первый бит знак порядка: 0 - +, 1 - минус)
Нормализуем по 1 виду.Запятую мантиссы двигаем на 5 разрядов влево, следовательно P=+5
+ 5
Nпл.н = 0|,11111002 0|00001012.
Проверяем М=0|,11111002 =+(64+32+16+8+4)/27=124/128=31/32.
Nпл = М·2P = 31·25/32=31 (верно!).
Записываем Х в форме с плавающей запятой (мантисса и порядок по 8 бит со знаком)
Хф =0,01110012 (проведено округление, в последнем бите добавлена 1)
Записываем N в форме с плавающей запятой (мантисса и порядок по 8 бит со знаком)
М P
Nпл = 0|,0111000101102 0|00000002
Нормализуем по 1 виду.Запятую мантиссы двигаем на 1 разряд вправо, следовательно P=-1. Оставляем 7 цифр после запятой
М P=-1
Nпл. н = 0|,11100012 1|00000012
Проверяем
М=0|,11100012 =+(64+32+16+1)/27=113/128.
Xпл = М·2P = 113·2-1/128=0,4414 (верно!).
Алгебраические формы представления целых знаковых двоичных чисел в компьютере и операции с этими числами
Привычной для человека формой представления является Прямой код (ПК), состоящий из бита знака (0 - плюс, 1 – минус) в крайней левой позиции поля записи числа, и модуля числа в двоичной СЧ - в остальных разрядах. При длине поля n положительные числа в ПК представлены от +0 до +(2n-1 – 1), а отрицательные – от –(2n-1-1) до -0.
Все положительные числа в компьютере представляются в ПК.
Для представления отрицательных чисел кроме ПК существует еще 3 формы: обратный код (ОК), дополнительный код (ДК) и смещенный код (СК).
В ОК в знаковом разряде 1, а на месте битов модуля их обратное (или инверсное) значение: вместо 0 – 1, и на оборот вместо 1 – 0.
В ДК в знаковом разряде 1, а на месте битов код дополняющий модуль ПК до 2n-1.
В СК в поле записи числа записывается двоичный код, равный сумме десятичного знакового числа и смещения К, при котором СК всегда положительный. Обычно K=2n. В результате отрицательные числа от -2n до -1 представлены в СК кодами целых беззнаковых чисел от 0 до (2n-1-1); 0 –
2n-1; а положительные – от (2n-1+1) до (2n-1). СК часто используют для записи порядков чисел с плавающей запятой.
Два правила образования ДК
1. Компьютерное правило. Отрицательное число представляется в ПК и переводиться в ОК. Затем знак 1 сохраняется, а к части модуля ОК добавляется 1.
2. Быстрое правило для человека. Отрицательное число представляется в ПК. Знак 1 сохраняется. Сохраняется самая крайняя 1 модуля и биты после нее. Оставшиеся биты модуля инвертируются (меняются на обратные).
1-е правило для нас будет основным. 2-м будем пользоваться для проверки.
Правило перевода ОК в ПК
Бит знака сохраняется, а оставшиеся биты инвертируются.
Правило перевода ДК в ПК
К ДК применяется правило образования ДК. Получается ПК.
Правило перевода СК в ПК
Из десятичного эквивалента СК вычитается смещение К. Полученное знаковое число представляется в ПК.
Примеры кодов в 5-разрядном поле со знаком
ПК(+13) = 01101
ПК(–13) = 11101
ОК(–13) = 10010
ДК(–13) = 10011
ПК(+7) = 00111
ПК(–7) = 10111
ОК(–7) = 11000
ДК(–7) = 11001
К=16
СК(+13) = 13+16=29 = 11101
СК(–13) = -13+16= 3 = 00011
СК(+7) = 7+16= 23 = 10111
СК(–7) = -7+16= 9 = 01001
Действия сложения чисел с представлением
отрицательных чисел в ПК, ОК и ДК
1. Сложение в ПК.
Если знаки одинаковы, то знак сохраняется, а модули складываются.
Если знаки разные, то выбирается наибольший модуль и из него вычитается наименьший модуль. Знак присваивается как у большего модуля.
Примеры для ПК
1) +13 + (–7) = +6
-0111
-1
-1
0110 ПК = 00110 (+6)!
2) (-13) + (7) = -6
-0111
-1
-1
0110 ПК =10110 (-6)!
Недостатки арифметических действий (сложения) с ПК – сложное правило. Кроме того два значения нуля ±0.
2. Сложение в ОК
Коды складываются как беззнаковые. Если в старшем знаковом разряде образуется перенос, то к младшему разряду добавляется 1. Если в знаковом разряде результата 0, то результат положительный в ПК. Если в знаковом разряде 1, то результат отрицательный в ОК. В последнем случае для проверки его надо перевести в ПК.
Примеры в ОК
1) +13 + (–7) = +6
01101 ПК(+13)
+11000 ОК(–7)
1 00101
+1
00110 ПК(+6)!
2) -13 + 7 = -6
10010 ОК(–13)
+ 00111 ПК(+7)
11001 ОК
ПК =10110=-6!
3. Сложение в ДК
Коды складываются как беззнаковые. Если в старшем знаковом разряде образуется перенос, то он пропадает. Если в знаковом разряде результата 0, то результат положительный в ПК. Если в знаковом разряде 1, то результат отрицательный в ДК. В последнем случае для проверки его надо перевести в ПК.
Из правило видно, что сложение в ДК самое простое, поэтому в компьютерах отрицательные числа представляются в основном в ДК.
Примеры в ДК
1) +13 + (–7) = +6
01101 ПК(+13)
+11001 ДК(–7)
00110 ПК(+6)
2) +7 – 13 = -6
00111 ПК(+7)
+ 10011 ДК(-13)
11010 ДК
ПК=10110 (-6)!
Дата добавления: 2014-12-18; просмотров: 111 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Примеры | | | Преимущества |