Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УП Информатика

.pdf
Скачиваний:
73
Добавлен:
22.03.2015
Размер:
549.79 Кб
Скачать

П р и м е р .

1010 = 10102;

1.2. Перевод чисел из одной системы счисления в другую

Если число X из системы счисления с основанием S необходимо перевести в систему счисления с основанием P, то перевод осуществляется по следующим правилам.

Правило 1

Для P = Sk, где k – целое положительное число (например, P = 8

=23, k = 3, S = 2):

1)при переводе числа из двоичной системы счисления в восьмеричную, начиная с запятой в левую сторону для целой части и в правую – для дробной части, число разбивается по триадам и каждая триада заменяется восьмеричной цифрой;

2)при переводе числа из восьмеричной системы счисления в двоичную каждая цифра записывается как двоичная по триадам;

3)при переводе числа из двоичной системы счисления в шестнадцатеричную, число разбивается по тетрадам и каждая тетрада заменяется шестнадцатеричной цифрой (P = 16 = 24, k = 4, S = 2);

4)при переводе числа из шестнадцатеричной системы счисления в двоичную каждая цифра записывается как двоичная по тетрадам.

П р и м е р .

а) 011

011

011 , 101

110 2

= 333,56 8 ;

 

 

 

 

 

 

 

 

 

 

 

 

3

 

3

3

5

6

 

11

б)

167,56 8 =

001

110 111, 101

110 2

;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

6

7

 

5

 

 

6

 

 

 

 

 

в) 0011 1011 0100,

1111 1010 2

 

= 3B4,FA 16 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

B

4

 

 

 

 

 

F

 

 

A

 

 

 

 

 

 

 

г) A29,CF

16 =

 

1010

 

0010

 

1001,

 

1100 1111 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

 

2

 

 

9

 

 

 

C

F

Правило 2

При невыполнении равенства P = S k (где k – целое положительное число):

1. Целая часть числа делится на новое основание P; полученный от деления первый остаток является младшей цифрой целой части числа с основанием P; затем полученное число снова делится на основание P, в результате определяется второй остаток, соответствующий следующей после младшей цифре числа с основанием P; деление продолжается до тех пор, пока частное не станет меньше делителя; последнее частное дает старшую цифру числа с основанием P.

П р и м е р .

1. Перевести число 2610 в двоичную систему счисления:

12

Таким образом, 2610 = 110102.

2. Перевести число 19110 в восьмеричную систему счисления:

Таким образом, 19110 = 2778;

2. Дробная часть числа умножается на новое основание P, при этом целая часть полученного произведения является старшей цифрой дробной части числа с основанием P; затем дробная часть произведения снова умножается на основание P; полученная часть произведения будет второй искомой цифрой; снова дробная часть умножается на основание P и т. д.

П р и м е р . Число 0,3110 перевести в двоичную систему счисления:

Таким образом, 0,3110 = 0,01002.

Число цифр в числе, представленном в системе счисления с основанием P, определяется из условия, что точность числа в этой системе счисления должна соответствовать точности числа в системе счисления с основанием S.

3. В смешанных числах целая и дробная части переводятся отдельно: целая часть – по правилу 2 (1), дробная часть – по правилу

2 (2).

При переводе чисел в десятичную систему счисления пользуются разложением числа по степеням оснований системы счисления.

13

П р и м е р .

а) 3358 = 3 ×82 + 3 ×81 + 5 ×80 = 22110 ; б) 0.78 = 7 ×8−1 = 0.87 10;

в) A316 = A ×161 + 3 ×160 =10 ×16 + 3 =16310 ;

г) 0, 11012 =1× 2−1 +1× 2−2 + 0 × 2−3 +1× 2−4 = 0, 812510 .

1.3.Формы представления чисел в ЭВМ

Всовременных ЭВМ применяются два способа представления чисел: с фиксированной точкой и плавающей точкой.

Представление чисел в форме с фиксированной точкой. В

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

П р и м е р . В ЭВМ, работающей в десятичной системе счисления, в каждой ячейке памяти которой 10 разрядов и распределены они так: первый разряд отведен для изображения знака числа (знаку «+» соответствует нуль, а знаку «–» соответствует единица), четыре разряда – под целую часть, а остальные пять разрядов – под дробную часть числа. Тем самым положение точки, отделяющей целую часть от дробной, строго фиксировано. Тогда самое большое число, которое можно записать в ячейку, +9999,99999, самое малое число –9999,99999. Не любое число из этого диапазона может быть точно представлено в ячейке памяти, ведь на дробную часть отведено только пять разрядов. Наименьшее по модулю допустимое число, отличное от нуля, 0000,00001.

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

14

9999,99999, то старшие разряды полученного числа будут потеряны.

П р и м е р . Если к числу 9999,99998 прибавить число 0000,00005, то должно получиться 10000,00003. На самом деле в ЭВМ результат будет представлен в виде 0000,00003, т. е. совершенно отличный от правильного.

Основное преимущество метода представления чисел с фиксированной точкой – простота арифметических операций, недостаток

– слишком узкий диапазон представления чисел.

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

В различных ЭВМ может быть различная длина ячейки и различные формы представления чисел [2].

П р и м е р . Ячейка памяти машины имеет 24 двоичных разряда. В ячейку можно поместить любое машинное слово, т. е. произвольный набор из нулей и единиц. Если это слово – число, то в конструкции машины может быть предусмотрено его представление в форме с фиксированной точкой. В частности, оно может быть таким: крайний слева разряд – знаковый, затем следующие 9 разрядов отводятся под целую часть и, наконец, оставшиеся 14 разрядов – под дробную часть числа, т. е. точка здесь всегда на одном и том же месте – после десятого разряда машинного слова (с учетом знакового разряда). Тогда самое большое число, представимое в машине, будет

(111111111,11111111111111)2.

Это число меньше, чем 29 = (512)10. А наименьшее по модулю, допустимое, отличное от нуля число равно

(000000000,00000000000001)2 = 2 –14 .

15

То есть диапазон чисел, которые можно записать в ячейку памяти машины, здесь такой:

2–14 |a | < 29.

Представление чисел в форме с плавающей точкой. Для того чтобы увеличить диапазон представимых чисел, используют другую форму записи чисел – с плавающей точкой. Любое число в системе счисления с основанием S можно записать как

a = m · S p,

(7)

где m мантисса числа; p порядок.

П р и м е р . В десятичной системе счисления число 3,14 можно предста-

вить в виде 3,14 = 0,314–1 .

Здесь мантисса равна 0,314, а порядок p = –1.

Очевидно, такое представление далеко не однозначно. Число 3,14 можно записать следующим образом:

3,14 = 3,14 · 100 = 31,4 · 10–1 = 0,0314 · 10–2 =...

Порядок числа определяет положение точки в записи мантиссы. При корректировке порядка соответствующим образом меняется и положение запятой – запятая как бы «плавает». Отсюда и название метода представления чисел.

Число с плавающей точкой может быть нормализованным. Нор- мализованная форма форма представления чисел, для которой справедливо условие S –1 <= |m| < 1.

Вслучае когда S = 10, мантисса должна удовлетворять требованию: 1 / 10 ≤ |m| < 1 (в десятичной системе счисления). То есть первая цифра мантиссы после точки должна быть отличной от нуля.

Внашем примере десятичное число а = 3,14 в нормализованной форме имеет вид 3,14 = 0,314 · 10–1 . Здесь m = 0,314, p = – 1.

16

Аналогично для а = – 0,00062 имеем – 0,00062 = – 0,62 · 10 –3 . Здесь m = – 0,62, p = –3.

В двоичной системе счисления число а называется нормализованным, если оно определяется в виде

а = m · 2 p ,

где p – двоичный порядок; m – двоичная мантисса числа а, причем

0,5 ≤ |m| < 1.

П р и м е р . Пусть задано число a = (6)10. В двоичной системе счисления оно имеет вид (110)2, а в двоичной нормализованной форме а = 0,11 · 23. Используя только двоичные цифры, получим а = 0,11·1011 (так как (2)10 =

= (10)2, (3)10 = (11)2, т. е. m = (0,11)2, p = (11)2).

Для а = 3/32 нормализованное двоичное представление имеет вид a = (3/32)10 = 0,11·10–11 , т. е. m = (0,11)2, p = – (11) 2.

Рассмотренный выше способ записи справедлив для чисел, отличных от нуля. Если же а = 0, то в записи а = m · Sp значения m = = 0 и p = 0.

При представлении чисел с плавающей точкой в ячейке памяти ЭВМ выделяют группы разрядов для изображения мантиссы, порядка, знака числа и знака порядка. Если в ячейке 24 разряда, то, перенумеровав их с нулевого номера по двадцать третий, можно распределить их, например, следующим образом: нулевой разряд отвести под знак числа, первый – под знак порядка, следующие семь разрядов (со 2-го по 8-й) – порядок числа, с 9-го по 23-й разряды – под мантиссу числа. Причем знак «+» обозначается нулем, а «–» обозначается единицей как для знака числа, так и для знака порядка (рис. 1).

0 1 2 3 4 5 6 7 8 9 10 23

 

 

Знак числа

 

 

Знак порядка

Порядок

Мантисса

Рис. 1. Представление числа в форме с плавающей точкой

17

П р и м е р . Пусть a = (4)10 = (100)2 = 0,l · 1011. Здесь m = (0,1)2, р = (11)2.

Распределение в ячейке представлено на рис. 2.

0

 

 

 

1

2

3

4

5

6

7

8

9

10

11

 

23

 

 

0

0

0

0

0

0

0

1

1

1

0

0

0

 

Знак числа

 

 

 

 

 

 

Порядок

 

 

 

 

Мантисса

 

 

 

Знак порядка

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2. Представление числа 410

в форме с плавающей точкой

Изображение числа а = – (9,5) 10 = – (1001,1) 2 = – (0,10011·10 100)2 в 24-раз-

рядной ячейке представлено на рис. 3.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 23

 

1

0

0

0

0

0

1

0

0

1

0

0

1

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак порядка

 

 

Порядок

 

 

 

 

 

 

Мантисса

 

 

Рис. 3. Представление числа – (9,5) 10 в форме с плавающей точкой

Изображение числа нуль в форме с плавающей точкой представлено на рис. 4.

0 1 2 3 4 5 6 7 8 9 10 11 23

 

0

0

0

0

0

0

0

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак порядка

 

 

 

Порядок

 

 

 

 

Мантисса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4. Представление числа нуль в форме с плавающей точкой

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

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

18

ставлено на рис. 5, т. е. порядок p = (1111111)2 = (127)10, а мантисса

m = (0,111...) 2 близка к единице.

123

15

0 1 2 3 4 5 6 7 8 9 10 23

 

1

0

1

1

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак порядка

 

 

 

 

 

Порядок

Мантисса

 

Рис. 5. Минимальное число в форме с плавающей точкой

Такое же по абсолютной величине, но положительное число, максимальное из возможно представимых в памяти ЭВМ, представлено на рис. 6.

0 1 2 3 4 5 6 7 8 9 10 11 23

 

0

0

1

1

1

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак порядка

 

 

 

Порядок

 

 

 

 

Мантисса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6. Максимальное число в форме с плавающей точкой

Минимальное по модулю, отличное от нуля и нормализованное

число а = ( 0, 1 · 10–1111111 )

=

1

 

2 –127

= 2 –128

представлено на рис. 7.

 

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

0

1

2

3

4

 

5

6

7

8

9

10

11

 

23

 

 

0

1

1

1

1

 

1

1

 

1

1

1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак числа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак порядка

 

 

 

 

Порядок

 

 

 

 

 

Мантисса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7. Минимальное по модулю нормализованное число в форме с плавающей точкой

Наименьшее по модулю число, не равное нулю и не нормализованное, представимое в ячейке, есть

19

 

1

+15

× 2

–127

 

–142

 

а =

 

 

 

= 2

 

.

2

 

 

 

 

 

 

 

 

 

 

 

В этом случае мантисса m = (0, 000...01)

2

= 2 –15 , порядок p =

 

 

 

 

14243

 

 

 

 

 

 

15

 

 

 

= – (1111111) 2 = – (127)10.

На точность представления чисел влияет не только порядок, но

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

Пр и м е р . Число (1/3)10 изображается бесконечной двоичной дробью (0,01010101...)2, или в нормализованной форме

(1/3)10 = 0,10101, ... 2 –1 = (0,10101 ... 10 –1 )2

(m = 0,10101…; p = – 1).

Так как под изображение цифр мантиссы в ячейке памяти ЭВМ отводится ограниченное число разрядов (в нашем случае 15), то учитываются только старшие разряды, а младшие отбрасываются. И число (l/3)10 запишется в ячейке следующим образом:

01 0000001 101010101010101.

14243 144424443

Порядок Мантисса

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

В пределах одной ячейки это можно сделать лишь за счет сокращения числа разрядов, отводимых для изображения порядка. Тем самым сужается диапазон чисел, с которыми может работать ЭВМ [2].

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

20