Основы алгоритмизации и программирования. Часть первая. Алгоритмический язык. Операторы. Асламова В.С - 4 стр.

UptoLike

Составители: 

7
17
8
= 001 1112; 17
16
= 010 111
2
;
12
8
= 001 010
2
; 12
16
= 010 010
2
;
147
16
= 000 101 000 111
2
Это возможно потому, что восьмеричная и шестнадцатеричная системы
счисления являются степенью двух. То есть 8=2
3
; 16=2
4
. Обратный
перевод заключается в замене триад и тетрад восьмеричными и
шестнадцатеричными цифрами. При программировании необходимо
уметь переводить числа из одной системы счисления в другую. Перевод
чисел выполняется по определенным правилам.
Перевод целого десятичного числа в шестнадцатеричное,
восьмеричное или двоичное число
Заданное число разделить на основание (16, 8, либо 2);
Остаток использовать в качестве младшего ра
зряда нового числа;
Частное разделить на основание. Полученный остаток использовать в
качестве очередного разряда числа;
Выполнять действия 2 и 3 до получения частного, равного нулю.
Пример 1. Перевод числа из десятичной в восьмеричную и
шестнадцатеричную системы счисления
327 : 8 = 40 остаток 7
40 : 8 = 5 остаток 0
5 : 8 = 0 остаток 5
327
10
= 507
8
= 5*8
2
+7*8
0
327 : 16 = 20 остаток 7
20 : 16 = 1 остаток 4
1 :16 = 0 остаток 1
327
10
=147
16
=1*16
2
+4*16
1
+7*16
0
Пример 2. Перевод числа из десятичной в двоичную систему счисления
25 : 2 = 12 остаток 1
12 : 2 = 6 остаток 0
6 : 2 = 3 остаток 0
3 : 2 = 1 остаток 1
1 : 2 = 0 остаток 1
25
10
= 11001
2
= 1*2
4
+1*2
3
+0*2
2
+0*2
1
+1*2
0
Перевод шестнадцатеричного, восьмеричного или двоичного числа в
десятичное число
Цифра старшего разряда умножается на прежнее основание (16, 8, либо 2);
К произведению прибавляется следующая цифра;
Сумма умножается на прежнее основание (16, 8, либо 2);
Выполнять последовательно действия 2 и 3, затем суммировать
полученное произведение и цифры младшего разряда.
Пример 3. Найти десятичное представление числа
9F3A
16
9*16=144; 144+F=159
159*16=2544; 2544+3=2547
2547*16=39152; 39152+A=39162
10
146
8
1*8=8; 8+4=12
12*8=96; 96+6=102
10
8
10100011
2
2*1=2; 2+0=2; 2*2=4; 4+1=5; 5*2=10; 10+0=10; 10*2=20; 20+0=20;
20*2=40; 40+0=40; 40*2=80; 80+1=81; 81*2=162; 162+1=163
10
Таблица 1. Эквиваленты десятичных чисел
Эквиваленты
Десятичные
числа
Двоичные
числа
Восьмеричные
числа
Шестнадцатеричные
числа
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
17 10001 21 11
18 10010 22 12
19 10011 23 13
Перевод дробных чисел из десятичной системы
Заданное число умножается на новое основание;
Из полученного произведения выделяется целая часть, соответствующая
разряду a
–1
;
Дробная часть произведения вновь умножается на новое основание;
Выполнять последовательно действия 2 и 3.
Пример 4. Перевод дробного десятичного числа
в шестнадцатеричное число
0,2175
10
0,2175*16=3,48; 3,48=3+0,48;
0,48*16=7,68; 7,68=7+0,68;
0,68*16=10,88; 10,88=A+0,88;
0,88*16=14,08; 14,08=E+0,08;
0,08*16=1,28; 1,28=1+0,28;
0,28*16=4,48; 4,48=4+0,48;
178 = 001 1112; 1716 = 010 1112;                                           101000112
128 = 001 0102; 1216 = 010 0102;                                           2*1=2; 2+0=2; 2*2=4; 4+1=5; 5*2=10; 10+0=10; 10*2=20; 20+0=20;
14716 = 000 101 000 1112                                                   20*2=40; 40+0=40; 40*2=80; 80+1=81; 81*2=162; 162+1=16310
Это возможно потому, что восьмеричная и шестнадцатеричная системы          Таблица 1. Эквиваленты десятичных чисел
счисления являются степенью двух. То есть 8=23; 16=24. Обратный                              Эквиваленты
                                                                                Десятичные
перевод заключается в замене триад и тетрад восьмеричными и                     числа        Двоичные Восьмеричные      Шестнадцатеричные
шестнадцатеричными цифрами. При программировании необходимо                                  числа      числа           числа
уметь переводить числа из одной системы счисления в другую. Перевод             0            0          0               0
чисел выполняется по определенным правилам.                                     1            1          1               1
                                                                                2            10         2               2
Перевод      целого    десятичного   числа      в     шестнадцатеричное,
                                                                                3            11         3               3
восьмеричное или двоичное число
                                                                                4            100        4               4
Заданное число разделить на основание (16, 8, либо 2);                          5            101        5               5
Остаток использовать в качестве младшего разряда нового числа;                  6            110        6               6
Частное разделить на основание. Полученный остаток использовать в               7            111        7               7
качестве очередного разряда числа;                                              8            1000       10              8
Выполнять действия 2 и 3 до получения частного, равного нулю.                   9            1001       11              9
Пример 1. Перевод числа из десятичной в восьмеричную и                          10           1010       12              A
шестнадцатеричную системы счисления                                             11           1011       13              B
327 : 8 = 40 остаток 7              327 : 16 = 20 остаток 7                     12           1100       14              C
40 : 8 = 5 остаток 0                20 : 16 = 1 остаток 4                       13           1101       15              D
5 : 8 = 0 остаток 5                 1 :16 = 0 остаток 1                         14           1110       16              E
32710 = 5078 = 5*82+7*80            32710=14716=1*162+4*161+7*160               15           1111      17               F
                                                                                16           10000      20              10
Пример 2. Перевод числа из десятичной в двоичную систему счисления              17           10001      21              11
25 : 2 = 12 остаток 1                                                           18           10010      22              12
12 : 2 = 6 остаток 0                                                            19           10011      23              13
6 : 2 = 3 остаток 0                                                        Перевод дробных чисел из десятичной системы
3 : 2 = 1 остаток 1                                                        Заданное число умножается на новое основание;
1 : 2 = 0 остаток 1                                                        Из полученного произведения выделяется целая часть, соответствующая
2510 = 110012 = 1*24+1*23+0*22+0*21+1*20                                   разряду a–1 ;
Перевод шестнадцатеричного, восьмеричного или двоичного числа в            Дробная часть произведения вновь умножается на новое основание;
десятичное число                                                           Выполнять последовательно действия 2 и 3.
Цифра старшего разряда умножается на прежнее основание (16, 8, либо 2);    Пример        4.    Перевод      дробного      десятичного      числа
К произведению прибавляется следующая цифра;                               в шестнадцатеричное число
Сумма умножается на прежнее основание (16, 8, либо 2);                     0,217510
Выполнять последовательно действия 2 и 3, затем суммировать
                                                                           0,2175*16=3,48;        3,48=3+0,48;
полученное произведение и цифры младшего разряда.
                                                                           0,48*16=7,68;          7,68=7+0,68;
Пример 3. Найти десятичное представление числа
                                                                           0,68*16=10,88;         10,88=A+0,88;
9F3A16                              1468
                                                                           0,88*16=14,08;         14,08=E+0,08;
9*16=144; 144+F=159                 1*8=8; 8+4=12                          0,08*16=1,28;          1,28=1+0,28;
159*16=2544; 2544+3=2547            12*8=96; 96+6=10210                    0,28*16=4,48;          4,48=4+0,48;
2547*16=39152;   39152+A=3916210


                                                                      7    8