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

advertisement
n-1
n-2
…
1
0 номера разрядов
значения разряд.
знаковый
разряд
разряды модуля числа
0 – положительные числа
1 – отрицательные числа
Пример1
-1310
= -11012
В восьмиразрядной сетке имеет вид:
7
6
5
4
3
2
1
0
1
0
0
0
1
1
0
1
знаковый
разряд
разряды модуля числа
номера разрядов
Если количество значащих разрядов модуля
числа превышает n-1, то происходит потеря
старших разрядов – переполнение разрядной
сет ки и происходит ошибка
А [ 0 ; 2
n 1
 1]
- диапазон модуля числа А, представленного в
n – разрядной сетке
Используется 2 формата:
короткий – с числом разрядов n=16
длинный – с числом разрядов n=32
IAImax=
215-1

215
31-1
2
IAImax=


210*215
231


103*25 = 32*103
(210)3*2  2*109
Прямой код числа – для представления в
компьютере положительных чисел с
использованием формата «знак-величина»
Дополнит ельный код числа – для
представление в компьютере отрицательных
чисел
Дополнит ельный код от рицат ельного числа А
хранящегося в n ячейках , равен 2 n-IAI
Пример2
Записать дополнительный код числа -2002
для 16-ти разрядного представления
доп.код =2 n-IAI
216 - I200210I=
6553610 - 200210=
=100000000000000002- 00000111110100102=
=11111000001011102
Алгорит м дополнит ельного кода
от рицат ельного числа
1) Модуль числа записать в прямом коде в n –
двоичных разрядах
2) Получить обратный код числа, для этого
значения всех битов инвертировать
(все единицы заменить на нули и все нули на
единицы)
3) К полученному обратному коду прибавить
единицу
Решение задач на определение
дополнит ельного кода
Для положительного числа прямой, обратный
и дополнительный коды совпадают
Прямой код используется для хранения
положительных и отрицательных чисел в
запоминающих устройствах и для
представления положительных чисел при
выполнении операций в арифметических
устройствах
Обратный и дополнительный коды позволяют
заменить операцию вычитания сложением
Обозначим
Прямой код числа А -
[А пк]
Обратный -
[А об]
Дополнительный -
[А дп]
Пример 1
Даны числа А=34 и В=30. Найти А+В, А-В, В-А
в восьмиразрядной сетке
А=3410=1000102
[А пк]=0.0100010
[-А пк]=1.0100010
[А об]= 0.0100010
[-А об]= 1.1011101
[А дк]=0.0100010
[-А дк]=1.1011110
В=3010=111102
[В пк]=0.0011110
[-В пк]=1.0011110
[В об]= 0.0011110
[-В об]= 1.1100001
[В дк]=0.0011110
[-В дк]=1.1100010
Найдем А+В (для чего найдем сумму
дополнительных кодов)
[А дп] = 0.0100010
+
[В дп] = 0.0011110
[В дп] = 0.1000000
 А+В =100000=6410
Найдем А-В =А+(-В)
-В=-30
[А дк] = 0.0100010
+
[-В дк] = 1.1100010
[В дк] = 10.0000100
 А-В =100=410
Решение задач на вычитание
Пример 1
Даны числа А=20 и В=60. Найти А-В в
восьмиразрядной сетке
А=2010=101002
[А пк]=0.0010100
В=6010=1111002
-В=-6010=-1111002
[В пк]=0.0111100
[-В пк]=1.0111100
[В об]= 0.0111100
[-В об]= 1.1000011
[В дк]=0.0111100
[-В дк]=1.1000100
Найдем А-В =А+(-В)
-В=-60
[А пк] = 0.0010100
+
[-В дк] = 1.1000100
1.1011000
Переведем полученный дополнительный код
в десятичное число:
1) Инвертируем полученный дополнительный
код
1.1011000
0.0100111
2) Прибавим к полученному коду 1 и получим
модуль отрицательного числа
0.0100111
+
1
0.0101000
3) Переведем в десятичное число и припишем
знак отрицательного числа
0.0101000 = 40
Ответ : - 40
Пример 2
Даны числа А=25 и В=60. Найти А-В в
восьмиразрядной сетке
А=2510=110012
[А пк]=0.0011001
В=6010=1111002
-В=-6010=-1111002
[В пк]=0.0111100
[-В пк]=1.0111100
[В об]= 0.0111100
[-В об]= 1.1000011
[В дк]=0.0111100
[-В дк]=1.1000100
Найдем А-В =А+(-В)
-В=-60
[А пк] = 0.0011001
+
[-В дк] = 1.1000100
1.1011101
Переведем полученный дополнительный код
в десятичное число:
1) Инвертируем полученный дополнительный
код
1.1011101
0.0100010
2) Прибавим к полученному коду 1 и получим
модуль отрицательного числа
0.0100010
+
1
0.0100011
3) Переведем в десятичное число и припишем
знак отрицательного числа
0.0100011=35
Ответ : - 35
Число состоит из мантиссы, старший разряд
которой определяет знак числа, и порядка со
знаком.
A = m • qn
m – мантисса числа
q – основание системы счисления
n – порядок числа
m m-1
1
n
n-1
…
модуль мантиссы
знак
числа
1
…
модуль порядка
знак
порядка
Условие мантиссы
1/q < ImI < 1
значит, что после
запятой есть значащая
цифра ( = 0)
значит, что мантисса
представляется
правильной дробью
Условие мантиссы
1/q < ImI < 1
значит, что после
запятой есть значащая
цифра ( = 0)
значит, что мантисса
представляется
правильной дробью
Условие мантиссы
1/q < ImI < 1
значит, что после
запятой есть значащая
цифра ( = 0)
значит, что мантисса
представляется
правильной дробью
555,55 = 0,55555 ·103
m = 0,55555
n=3
Форматы
1) обычный (короткий) – 4 байта
2) двойной точности – 8 байт
3) повышенной точности – 16 байт
Форматы
1) обычный (короткий) – 4 байта
2) двойной точности – 8 байт
3) повышенной точности – 16 байт
Задание1
Определить диапазон чисел в формате
обычной точности (4 байта), если
порядок и его знак – 8 разрядов
мантисса и её знак – 24 разряда
nmax =11111112 = 127
2127=1,7·1038
-максимальное значение
числа
mmax = 223-1  223 = 2(10·2,3) 
 10002,3  10(3·2,3)  107
-максимальное значение мантиссы
 Для количества значащих цифр десятичного
числа отводится 7 разрядов
Мантисса
(от лат. mantissa - прибавка), дробная часть
десятичного логарифма.
Мантисса — роман английского писателя
Джона Фаулза.
Книжный Интернет магазин Мантисса
Екатеринбург…
Download