Практическая работа 3
(2 часа)
Представление информации в различных системах счисления
Цель работы. Изучение методов перевода чисел из одной системы счисления в другую. Изучение способов представления числовой информации в компьютере
План
Изучить методы перевода целых чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления
Изучить методы перевода правильных дробей из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления
Изучить методы перевода вещественных чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления
Изучить методы перевода чисел из двоичной, восьмеричной и шестнадцатеричной систем счисления в десятичную систему счисления
Изучить методы перевода чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления и наоборот
Изучить представление целых и вещественных чисел в компьютере
Ответить на контрольные вопросы
Краткие сведения
В двоичной системе счисления все числа записываются с помощью двух цифр 0 или 1, основание (базис) двоичной системы счисления q=2.
В восьмеричной системе счисления все числа записываются с помощью восьми цифр 0, 1, 2, 3, 4, 5, 6, 7, основание восьмеричной системы счисления q=8.
В десятичной системе счисления все числа записываются с помощью десяти цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
В шестнадцатеричной системе счисления все числа записываются с помощью шестнадцати цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (количественный эквивалент числа 10), B (11), C (12), D(13), E (14), F (15), базис шестнадцатеричной системы счисления q=16. Рассмотрим соотношение цифр и чисел в различных системах счисления (Таблица 1).
Таблицы чисел в различных системах счисления Таблица 1 10-я | 2-я | 8-я | 16-я |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
Для того чтобы перевести целую часть числа из десятичной системы счисления в двоичную, восьмеричную, шестнадцатеричную, необходимо: 1. Последовательно делить данное число и получаемые при делении целые частные на основание q новой системы счисления (2, 8 или 16), выражая промежуточный результат цифрами исходной системы, до тех пор, пока частное не станет равным нулю. 2. Полученные остатки, фактически являющиеся цифровым выражением числа в новой системе, привести в соответствие с алфавитом этой системы счисления (имеются в виду системы счисления с основанием больше 10). 3. Записать число в новой системе счисления, начиная с последнего остатка. | Пример 1. Перевести число 2310 в двоичную систему счисления.
_23 | | 2 | | | | | | | | | 22 | | _11 | | 2 | | | | | | | | | 10 | | _5 | | 2 | | | | | | | | | 4 | | _2 | | 2 | | | | | | | | | 2 | | _1 | | 2 | | | | | | | | | 0 | | 0 | | | | | | | | | | | | | | | | | | | | | | | Получаем 2310=101112 |
Для того, чтобы выполнить перевод правильных дробей из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную необходимо последовательно умножать правильную дробь и получаемые дробные части произведений на основание системы q до тех пор, пока дробная часть произведения не станет равной нулю или не будет достигнута требуемая точность представления числа.
Полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления. Составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.
Пример 2. Перевести число 0,6562510 в восьмеричную систему счисления.
0, | 65625 х 8 |
5, | 25000 х 8 |
2, | 00000 |
Получаем: 0,6562510 = 0,528
Перевод вещественных чисел, т.е. чисел, содержащих целую и дробную части, осуществляется в два этапа. Отдельно переводится целая часть, отдельно — дробная. В итоговой записи полученного числа целая часть отделяется от дробной запятой.
Пример 3. Перевести число 156,35610 в шестнадцатеричную систему счисления. Представим число в виде суммы целой и дробной части 156,35610=15610+0,35610 Переводим целую часть 15610 в шестнадцатеричную систему счисления: _156 | | 16 | | | 144 | | _9 | | 16 | 12 | | 0 | | 0 | (С) | | 9 | | | Получаем 15610=9С16 | Переводим дробную часть 0,35610 в шестнадцатеричную систему счисления: 0, | 356 х 16 | 5, | 696 х 16 | 11, (В) | 136 х 16 | 2, | 176… | Получаем: 0,35610 0,5В216. |
Таким образом, 9С16+0,5В216=9С,5В216. Получаем: 156,35610 9С,5В216
При переводе чисел из системы счисления с основанием q в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и дробной части, начиная с разряда сразу после запятой, слева направо – начальный номер -1. Затем вычислить сумму произведений соответствующих значений разрядов на основание q системы счисления в степени, равной номеру разряда
Пример 4. Перевести число 10110110111,1012 в десятичную систему счисления
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -1 | -2 | -3 |
1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1, | 1 | 0 | 12=1*29+0*28+1*27+1*26+0*25+1*24+1*23+0*22+1*21+ |
+1*20+1*2-1+0+2-2+1*2-3= =512+0+128+64+0+16+8+0+2+1+0,5+0+0,125=731,62510
Если необходимо перевести число из двоичной системы счисления в систему счисления, основанием которой является степень двойки, достаточно объединить цифры двоичного числа в группы по столько цифр, каков показатель степени. При этом в целой части числа группировка производится справа налево, а в дробной слева направо. Если в последней группе недостает цифр, дописываются нули: в целой части - слева, в дробной – справа. Затем каждая группа заменяется цифрой новой системы счисления (Таблица 1).
При переводе чисел из системы счисления, основанием которой является степень двойки, в двоичную систему счисления необходимо каждую цифру заменить группой по столько цифр двоичной системы счисления, каков показатель степени. Затем записать цифры слева направо.
Пример 5. Перевести число 1011010010111,10112 в восьмеричную систему счисления
Разбиваем число на тройки цифр и заменяем каждую триаду восьмеричной цифрой:
001 011 010 010 111,101 1002
1 3 2 2 7 5 4
Получим 1011010010111,1011002=13227,548
Пример 6. Перевести число 801А9Е,3F16 в двоичную систему счисления
Заменим каждую цифру четверкой двоичных цифр: 8 0 1 А 9 Е, 3 F16
1000 0000 0001 1010 1001 1110 0011 1111
Получим 801А9Е,3F16=100000000001101010011110,001111112
Задания к практической работе
1) Выполнить перевод целых чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления:
2610 | 2710 | 2810 | 2910 | 3010 | 3110 | 4210 | 4310 | 4410 | 4510 |
4610 | 4710 | 5810 | 5910 | 6010 | 6110 | 6210 | 6310 | 7410 | 7510 |
7610 | 7710 | 7810 | 7910 | 9010 | 9110 | 9210 | 9310 | 9410 | 9510 |
2) Выполнить перевод правильных дробей из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления:
0,2510 | 0,12510 | 0,3410 | 0,3710 | 0,3910 | 0,4110 | 0,4410 | 0,4910 |
0,5210 | 0,5610 | 0,5910 | 0,6110 | 0,6210 | 0,6310 | 0,6810 | 0,6910 |
0,7310 | 0,7610 | 0,7910 | 0,8210 | 0,8410 | 0,8510 | 0,8610 | 0,8910 |
0,9110 | 0,9310 | 0,9410 | 0,9510 | 0,9610 | 0,9910 | | |
3) Выполнить перевод вещественных чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления:
106, 12510 | 107,45610 | 108,37510 | 109,37710 | 110,37810 |
111,37910 | 122,38110 | 123,38210 | 124,38310 | 125,38410 |
126,38510 | 127,38610 | 138,38710 | 139,38810 | 140,38910 |
141,39110 | 142,39310 | 143,39410 | 154,39510 | 155,39610 |
156,39110 | 157,39210 | 158,39310 | 159,39410 | 170,39510 |
171,39610 | 172,39710 | 173,39810 | 174,39910 | 175,40110 |
4) Выполнить перевод чисел из двоичной, восьмеричной и шестнадцатеричной систем счисления в десятичную систему счисления
а) Выполнить перевод числа из двоичной системы счисления в десятичную:
1001010,12 | 1100111,012 | 1111000,12 | 1001101,012 |
1100011,12 | 1011111,012 | 1100010,12 | 1011010,012 |
1010101,012 | 1011001,12 | 10110101,012 | 1010100010,12 |
10100011,012 | 110001001,012 | 110101011,12 | 11011001,012 |
10101001,012 | 100011101,12 | 1101000,012 | 100111,012 |
1110101,12 | 1010111,012 | 1001101,12 | 10101111,012 |
1111101,12 | 10000011,012 | 10101011,12 | 11001101,012 |
1001100111,12 | 101011010,012 | | |
б) Выполнить перевод числа из восьмеричной системы счисления в десятичную:
21,78 | 63,18 | 36,28 | 23,48 | 40,38 | 14,28 | 44,78 | 15,48 |
24,78 | 20,48 | 25,18 | 52,68 | 23,58 | 54,18 | 15,68 | 16,38 |
61,58 | 16,48 | 26,38 | 36,748 | 35,18 | 31,78 | 37,28 | 32,58 |
47,28 | 46,18 | 41,58 | 72,18 | 71,28 | 27,38 | | |
в) Выполнить перевод числа из шестнадцатеричной системы счисления в десятичную:
3A,816 | F1,A16 | 33,A16 | D4,716 | FE,116 | 9B,416 |
D5,616 | F0,916 | B5,C16 | B4,216 | A3,216 | A1,116 |
1D,416 | E9,216 | C1,416 | 2D,A16 | 7E,416 | 7D,616 |
6C,516 | 3B,45D16 | 7A,216 | F6,916 | 6E,416 | CF,516 |
2B,616 | 2A,416 | CF,916 | 5B,616 | 6E,116 | 28,D16 |
5) Выполнить перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления и наоборот.
а) Выполнить перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную:
11001101,10112 | 1001101,01112 | 1001110000,0012 | 101001010,01012 |
1100010010,01112 | 1110111100,0112 | 1100000011,01112 | 111010101,1012 |
110100101011,12 | 1011101001,110112 | 101101001,012 | 1000101110,10012 |
1100110101,12 | 1011100011,012 | 10000001001,01012 | 1010000110,012 |
11010000000,012 | 1001011010,0112 | 111101110,10112 | 1111011110,12 |
11111111010,012 | 1000110010,01012 | 1010001010,10112 | 1101010100,0112 |
1111011010,0112 | 1011100111,012 | 1010011110,1012 | 1101001010,0112 |
1111110100,012 | 111000011,1012 | | |
б) Выполнить перевод чисел из восьмеричной системы счисления в двоичную:
221,78 | 630,618 | 736,18 | 237,28 | 140,318 | 14,028 | 144,78 | 145,48 |
24,078 | 250,48 | 25,318 | 252,068 | 25,1538 | 254,78 | 15,068 | 160,378 |
161,548 | 162,048 | 263,028 | 36,748 | 305,618 | 31,3078 | 370,278 | 321,58 |
47,3028 | 47,6138 | 414,578 | 72,0158 | 716,258 | 271,038 | -
| -
|
в) Выполнить перевод чисел из шестнадцатеричной системы счисления в двоичную:
3C9A,816 | 3BF1,A16 | 3F13,A16 | 9D4,7A16 | 2FE3,6116 | 39B1,4A16 |
24D5,67B16 | 2F0,51916 | 2B45,0C16 | BB4,22C16 | 4A3F,2916 | 8A21,10D16 |
180D,48F16 | E029,7216 | C10,4A716 | 22D,A1716 | 1EE3,69416 | C7D1,6A16 |
6C23,0A16 | 3B06,45D16 | 7A58,0B16 | 1F16,0916 | 16E,0D416 | 2CF,A3516 |
3F2B,61A16 | 24A,14B16 | 3CF,D5916 | 3FB,6416 | 6ED0,19C16 | 283,D5F16 |
Контрольные вопросы
Обязательная часть
Чем отличаются позиционные система счисления от непозиционных?
Почему в компьютере используется двоичная система счисления?
Какие формы записи применяются в компьютерной технике для кодирования целых чисел со знаком?
В чем заключается преимущество экспоненциальной формы числа?
Дополнительная часть
Запишите числа в прямом коде (формат 1 байт): 31; 65;-63;-128
Запишите числа в обратном коде (формат 1 байт): -9; -127; -15; -128
Запишите числа в дополнительном коде (формат 1 байт): -9; -127; -15; -128
Переведите пары чисел в двоичную систему счисления и произведите арифметические операции: 36 и 4; 75 и 5; 12 и 4. Ответы проверьте.