= 0.0002 + 0.0058 + 0.0937 + 0.5 + 1 + 56 + 256 = 313.599710 » 313.610
471.46318 = ( )16
Перевод числа из восьмеричной системы счисления в шестнадцатеричную проведем в два этапа: сначала переведем число в десятеричную систему счисления, затем из десятеричной в шестнадцатеричную. Перевод числа 471.46318 в десятеричную систему счисления уже осуществлен выше: 471.46318 = 313.610 . Далее переведем 313.610 в шестнадцатеричную систему счисления:
313.610 = ( )16
Сначала переводим целую часть числа, делим на основание 16:
313/16=19 остаток – 9;
19/16=1 остаток – 3.
Получим 31310=13916
Теперь переводим дробную часть числа, умножаем на основание 16:
* | 6 | * | 6 |
16 | 16 | ||
9 | 6 | 9 | 6 |
Получим 0.610 = 0.9916 , значит,
31310 » 139.9916
139.9916 = ( )2
Каждый символ числа 139.9916 запишем в двоичной системе счисления: 116=00012 ; 316=00112 ; 916=10012 .
Получим 139.9916 = 100111001.100110012
139.9916 = ( )8
Перевод числа из шестнадцатеричной системы счисления в восьмеричную будем выполнять в один этап, делая все вычисления в шестнадцатеричной системе счисления.
Сначала переводим целую часть числа, делим на основание 8:
139 | 8 | |
100 | 27 | |
– | 39 | |
38 | ||
1 |
27 | 8 |
20 | 4 |
7 |
Дальше делить нельзя, поэтому собираем все остатки, начиная с конца и учитываем конечный результат от деления т.е. 20/8=4. Получим 13916 = 4718
Теперь переводим дробную часть числа, умножаем на основание 8:
* | 99 | * | С8 | * | 40 |
8 | 8 | 8 | |||
4 | С8 | 6 | 40 | 2 | 00 |
Получим 0.9916 = 0.46208 , значит,
139.9916 » 471.46208
139.9916 = ( )10
1 | 3 | 9 | . | 9 | 9 | Число |
2 | 1 | 0 | -1 | -2 | Разряды числа |
139.9916 = 9*16-2 + 9*16-1 + 9*160 + 3*161 + 1*162 = 0.0351 + 0.5625 + 9 + 48 + 256 = 313.597610 » 313.610
Выполнение арифметических операций над числами, представленными в ПСС
Операции над числами в двоичной, восьмеричной, шестнадцатеричной системе счисления выполняются по тем же правилам, что и арифметические операции над числами в десятеричной системе счисления.
Задание
А) Сложить числа (А)16 и (В)16
(А)10 = 30710 = 13316 (В)10 = 6.610 = 6.9916
+ | 133.00 |
6.99 | |
139.99 |
Б) Вычесть из числа (А)8 число (В)8
(А)10 = 30710 = 4638 (В)10 = 6.610 = 6.468
– | 463.00 |
6.46 | |
454.31 |
В) Умножить числа (С)2 и (В)2
(С)10 = 9110 = 10110112 (В)10 = 6.610 = 110.10012
* | 1011011 | |
110.1001 | ||
1011011 | ||
+ 1011011000 | ||
101101100000 | ||
1011011000000 | ||
1001010101.0011 |
В) Разделить число (С)2 на (В)2
(С)10 = 9110 = 10110112 (В)10 = 6.610 = 110.12
1011011 | 110.1 | Þ |
10110110 | 1101 | ||
01101 | 1110.0 | ||
010011 | |||
001101 | |||
0001101 | |||
0001101 | |||
0000000 |
1.2 Формы представления данных в ЦА
Кодирование и формы представления чисел в ЦА
Представление чисел в машинных кодах для выполнения арифметических операций
Прямой код – это двоичный код числа, записанный в разрядной сетке, в старшем разряде которого указывается знак числа.
Для положительных чисел прямой код числа совпадает с обратным и дополнительном кодом т.е. [A]пр = [A]обр = [A]доп .
В противном случае, когда число отрицательное:
– обратный код получается из прямого, путем инверсии всех разрядов, за исключением знакового;
– дополнительный код получается путем прибавления единицы к обратному коду т.е. [A]доп = 1 + [A]обр .
Модифицированный обратный (дополнительный) код – аналог обратного (дополнительного) кода, с той лишь разницей, что на знак выделяются два старших разряда.
Задание. Числа А, –А, С и –С представить в прямом, обратном, дополнительном, модифицированном обратном и модифицированном дополнительном кодах.
А = 30710 = 1001100112 С = 9110 = 10110112
[A]пр = [A]об = [A]доп = 0|000000100110011
[A]мод.об = 00|00000100110011
[A]мод.доп = 00|00000100110011
[–A]пр = 1|000000100110011
[–A]об = 1|111111011001100
[–A]мод.об = 11|11111011001100
[–A]доп = 1|111111011001100+1 = 1|111111011001101
[–A]мод.доп = 11|11111011001100+1 = 11|11111011001101
[C]пр = [C]об = [C]доп = 0|000000001011011
[C]мод.об = 00|00000001011011
[C]мод.доп = 00|00000001011011
[–C]пр = 1|000000001011011
[–C]об = 1|111111110100100
[–C]мод.об = 11|11111110100100
[–C]доп = 1|111111110100100+1 = 1|111111110100101
[–C]мод.доп = 11|11111110100100+1 = 11|11111110100101
Представление чисел в формате с фиксированной запятой
Для чисел, представленных в формате с фиксированной запятой, предварительно определяется место запятой между разрядами, поэтому число может быть определено только в определенном диапазоне. Если рассматривать два числа, у которых место положения различны, то числа выравниваются по младшему разряду. Для этого все числа заносимые в ЦА предварительно умножаются на маштабный коэффициент.
Например:
111.101 * 24 = 1111010 – целый вид;
111.101 * 2–3 = 0.111101 – дробный вид,
где 24 и 2–3 – маштабный коэффициент.
Задание. Числа A, –A, B и –B представить в формате с фиксированной точкой (в 16-ти разрядах). При этом числа A и B привести к целому виду, а –A и –B к дробному с 4-мя знаками после запятой.
А = 30710 = 1001100112
A = 0000000100110011 – целый вид;
A = 100110011*2–4 = 000000010011.0011 – дробный вид.
В = 6.610 = 110.12
B = 110.1*21 = 0000000000001101 – целый вид;
B = 110.1*2–3 = 000000000000.1101 – дробный вид.
Представление чисел в формате с плавающей запятой
Любое число N в системе счисления с основанием q можно записать в виде N=M*qp, где M называется мантиссой числа, а p – порядком. Такой способ записи чисел называется представлением с плавающей точкой.
Мантисса должна быть правильной дробью, первая цифра дробной части которой отлична от нуля: M из диапазона [0.1; 1).
Такое, наиболее выгодное для компьютера, представление вещественных чисел называется нормализованным.
Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание – в десятичной системе.
При хранении числа с плавающей точкой отводятся разряды для мантиссы, порядка, знака числа и знака порядка:
… | … |