Перевод чисел из недесятичной системы счисления в десятичную.
Вспомним, что любое число в любой системе счисления можно представить в развернутом виде: a4*p4 + a3*p3 + a2*p2 + a1*p1 + a0*p0, где a4a3a2a1a0p является числом с основанием p.Перевод осуществляется по следующему правилу:
· исходное число запишем в развернутой форме, используя цифры десятичной системы.
· сложим развернутую запись числа, используя правила десятичной системы счисления.
Примеры:
1100102 представить в десятичной форме. on_load_lecture()
Здесь в числе 6 цифр, где p = 2, a5 = 1, a4 = 1, a3 = 0, a2 =0, a1 = 1, a0 = 0, поэтому
1100102 = 1*25 + 1*24 + 0*23 + 0*22 + 1*21 + 0*20 =
= 1*32 + 1*16 + 0*8 + 0*4 + 1*2 + 0*1 =
= 32 + 16 + 2 =
= 5010 .
Ответ: 1100102 = 5010 .
4618 представить в десятичной форме.
4618 = 4*82 + 6*81 +1*20 =
= 4*64 + 6*8 + 1*1 =
= 256 + 48 + 1 =
= 30510 .
Арифметические действия.
При работе на ЭВМ программисту приходится работать в различных системах счисления (Табл.2.1). Поэтому рассмотрим правила арифметических действий для указанных выше систем счисления.
Сложение.
Таблица 2.1.Числав некоторых системах счисления
| Действие | Результат добавления 1 в системах счисления: | ||
| Двоичная | Шестнадцате-ричная | Десятичная | |
| 0+0 | |||
| 0+1 | |||
| 0+1+1 | |||
| 0+1+1+1 | |||
| 0+1+1+1+1 | |||
| 0+1+1+1+1+1 | |||
| 0+1+1+1+1+1+1 | |||
| 0+1+1+1+1+1+1+1 | |||
| 0+1+1+1+1+1+1+1+1 | |||
| 0+1+1+1+1+1+1+1+1+1 | |||
| 0+1+1+1+1+1+1+1+1+1+1 | A | ||
| 0+1+1+1+1+1+1+1+1+1+1+1 | B | ||
| 0+1+1+1+1+1+1+1+1+1+1+1+1 | C | ||
| 0+1+1+1+1+1+1+1+1+1+1+1+1+1 | D | ||
| 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1 | E | ||
| 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 | F | ||
| 0+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 |
Вспомним, как складываются два числа в десятичной системе приемом «в столбик», предположим для чисел 56 и 49.
+
|
Порядок сложения:
1. Складываем цифры младших разрядов (единицы), т.е. 6 и 9. Получаем 15.
2. Цифру 5 пишем в колонку для единиц, т.е. под цифрами 6 и 9, а 1 переносим в колонку слева для десятков.
+
15
3. Теперь в колонке для десятков складываются: 5, 4 и перенесенная 1. Получаем 10.
4. 0 пишем в колонку десятков, а 1 переносим влево в колонку сотен.
1
+
+
49
Теперь применим те же правила для шестнадцатеричных чисел, предположим для чисел 5B и A9
5B
+
A9
1. Складываем цифры младших разрядов, т.е. B и 9. Получаем 1416.
2. Цифру 4 пишем в колонку под цифрами B и 9, а 1 переносим в колонку слева.
B
+
14
3. Теперь складываем цифры в колонке слева, т.е.: 5, A и перенесенная 1. Получаем 1016.
4. 0 пишем в колонку под цифрами 5 и A, а 1 переносим в колонку слева.
1
+
5B
+
A9
Получаем 5B16 + A916 = 10416.
Проверим правильность сложения, преобразовав 5B16 , A916 и 10416 в десятичные.
5B16 = 5*16 + 11 = 80 + 11 = 91
A916 = 10*16 + 9 = 160 + 9 = 169
10416 = 1*162 + 0*16 + 4 = 256 + 0 + 4 = 260
91 + 169 = 260
260 = 260
Теперь применим те же правила для двоичных чисел, предположим для чисел 1102 и 1112
1102
+
1112
1. Складываем цифры младших разрядов, т.е. 0 и 1. Получаем 1 (0 + 1 = 1).
2. Цифру 1 пишем в колонку под цифрами 0 и 1.
1102
+
1112
12
3. Складываем цифры в колонке левее, т.е. 1 и 1. Получаем 102.
(1 + 1 = 10).
4. 0 пишем в колонку под цифрами 1 и 1, а 1 переносим в колонку слева.
5.
102
+
112
1012
6. Теперь складываем цифры в колонке слева, т.е.: 1, 1 и перенесенная 1. Получаем 112. (1 + 1 + 1 = 112).
7. Цифру 1 пишем в колонку под цифрами 1 и 1, а 1 переносим в колонку слева.
1
+
1102
+
1112
11012
Получаем 1102 + 1112 = 11012.
Проверим правильность сложения, преобразовав 1102 , 1112 и 11012 в десятичные.
1102 = 1*22 + 1*2 + 0 = 4 + 2 + 0 = 6
1112 = 1*22 + 1*2 + 1 = 4 + 2 + 1 = 7
11012 = 1*23 + 1*22 + 0*2 + 1 = 8 + 4 + 0 + 1 = 13
6 + 7 = 13
13 = 13
Вычитание.
Давайте вспомним еще раз, как располагаются разряды в позиционных системах счисления.
· Слева расположен самый старший, а справа - самый младший разряд.
· При переносе цифры вправо в соседний разряд, к цифре справа добавляется 0 (Рис. 2.3.).
Вычтем из 56 число 49 в десятичной системе приемом «в столбик».
-
|
Порядок вычитания:
1. Рассмотрим цифры младших разрядов (единицы), т.е. 6 и 9.
2. Если из большей цифры вычитаем меньшую цифру, то пишем разность в младшем разряде (единицы).
3. Если из меньшей цифры вычитаем большую цифру, то из соседнего слева разряда вычитаем 1 и переносим ее вправо, приписывая к ней справа 0. Полученное число 10 прибавляем к меньшей цифре и делаем вычитание. У нас 6 меньше 9 (6 < 9).
4. Вычитаем из цифры левого разряда единицу. 5 – 1 = 4. (Запомним, что вместо 5 у нас стало 4).
5. Перенесем вычтенную единицу вправо и припишем справа 0. Получаем 10.
6. К 6 прибавляем 10. 6 + 10 = 16.
7. Вычтем из 16 цифру 9. 16 – 9 = 7.
8. Запишем полученную 7 в младшем разряде (единицы) разности.
(1) 10
|
(5)6 (4)6 (4)16
– – –
(4)9 (4)9 (4)9
| | |
9. Из оставшихся 4 десятков вычтем 4 десятка. Получаем 0.
–
|
10. Итак, 56 – 49 = 7.
11. Проверка:
+
7
Теперь применим те же правила для шестнадцатеричных чисел, предположим для чисел C9 и 5B.
C9
–
5B
1. 916 < B16 .
2. C16 – 1 = B16 .
3. 916 + 1016 = 1916 .
4. 1916 – B16 = E16 .
(1) 10
(C)9 (B)9 (B)19
– – –
(5)B (5)B (5)B
E
5. B16 – 516 = 616 .
C9
–
5B
6E
Получаем C916 – 5B16 = 6E16.
Проверим правильность вычитания, преобразовав C916 , 5B16 и 6E16 в десятичные.
C916 = 12*16 + 9 = 192 + 9 = 201
5B16 = 5*16 + 11 = 80 + 11 = 91
6E16 = 6*16 + 14 = 96 + 14 = 110
201 – 91 = 110
110 = 110
Теперь применим те же правила для двоичных чисел, предположим для чисел 11012 и 1112
(1) 10 (1) 10
11012 (110)1 (11)01 (10)01 (1)001 0001
– – – – –
1112 (11)1 (1)11 (1)11 111 111
0 0 10 10 110
Получаем 11012 – 1112 = 1102.
Проверим правильность вычитания, преобразовав 11012 , 1112 и 1102 в десятичные.
11012 = 1*23 + 1*22 + 0*2 + 1 = 8 + 4 + 0 + 1 = 13
1112 = 1*22 + 1*2 + 1 = 4 + 2 + 1 = 7
1102 = 1*22 + 1*2 + 0 = 4 + 2 + 0 = 6
13 – 7 = 6
6 = 6
Дата добавления: 2016-12-16; просмотров: 3331;
