Алгоритм перевода чисел из системы с основанием Р в десятичную

Пример 3

41810 = 4 ∙ 102 + 1 ∙101 + 8 ∙ 100

Наибольшее распространение в информатике и ВТ получили:

двоичная, восьмеричная, шестнадцатеричная системы счисления.

Алфавиты:

0, 1, 2, 9 DEС
0, 1 BIN
0, 1, 2, …, 7 OCT
0, 1, 2, …, 9, А, B, C, D, E, F HEX

Заметим, что 8 = 23, 16 = 24.

Чем больше основание системы, тем меньше цифр необходимо для отображения числа.

Пример 4

4110 = 1010012 = 518 = 2916

Алгоритм перевода чисел из системы с основанием Р в десятичную

1. Пронумеровать разряды справа налево, начиная с нулевого.

2. Вычислить сумму произведений цифр в соответствующих разрядах на основание системы в степени, равной номеру разряда.

100112

100112 = 1910 1·24 + 0·23 + 0·22 + 1·21 + 1·20 = 19

Алгоритм перевода чисел из 10-тичной в систему счисления с обоснованием Р

1. Число делится на Р. Остаток запоминается.

2. Частное вновь делится на Р. Остаток запоминается.

3. Процедура повторяется до тех пор, пока частное не станет меньше Р или равным нулю.

4. Остатки выписываются справа налево в порядке их получения.

Пример 5

а) 4610 → в двоичную

  : 2          
  -46 : 2        
Младший разряд -22 : 2      
    -10 : 2    
      -4 : 2  
        -2 1< P  
             
            Старший разряд

4610 = 1011102

Проверка: 1·25 + 0·24 + 1·23 + 1·22 + 1·21 + 0·20 = 46

б) 6010 → в шестнадцатеричную

 
 
А
B
C
D
E
F

  : 16    
  -352 : 16  
Младший разряд -16 1< P  
       
      Старший разряд

36410 = 16С16

Проверка: 1·162 + 6·161 + 12·160 = 256 + 96 + 12

Алгоритм перевода чисел из двоичной системы счисления в систему с основанием, 2n

1. Объединить цифры двоичного числа в группы по столько цифр, сколько степень двойки в основании системы (справа налево группировка).

2. Переводим группы цифр в цифры нужного алфавита.

Пример 6

11001002 → ОСТ и НЕХ

001 100 100 в основании системы 23 (если надо добавим нули)

1 4 4 1448

0110 0100 в основании системы 24 (если надо добавим нули)

6 4 6416

Арифметические действия в позиционных системах счисления, выполняются аналогично вычислениям в десятичной системе счисления

Пример 7

2110 + 8110 = 10210



 
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru +

Для других систем счисления необходимо составить таблицы простейших действий.

Для двоичной системы:

сложение умножение
 
+ + + +   × × × ×
 
переполнение разрядной сетки и перенос единицы в старший разряд

Пример 8

Умножить 1110 × 310 = 3310 перейдя к двоичному виду

   
×      
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru  
+  

Проверка: 1000012 = 1·25 + 0·24 + 0·23 + 0·22 + 0·21 + 1·20 = 3310

Пример 9

Сложение 5910 + 4410 = 10310 перейдя к шестнадцатеричному виду

  В
× С
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru

Проверка: 6716 = 6·161 + 7·160 = 10310

Умножить 5910 + 4410 = 259610 перейдя к шестнадцатеричному виду

    В
×   С
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru С
+  
  А

Проверка: А2416 = 10·162 + 2·161 + 4·160 = 259610

Дополнительный код.

Дополнительный код положительного числа совпадает с его прямым (обычным) кодом, при этом код нужно слева дополнить таким количеством нулей, чтобы не происходило переполнения разрядной сетки при вычислениях.

Замечание:

1. целесообразно выбирать разрядную сетку кратную байту, т.е 8-ми разрядам.

2. при сложении нескольких чисел результат не должен вызывать переполнение разрядной сетки.

Пример 10

30510 + 20010 = 505 > 256 = 28, т.е. 1 байта будет мало, надо 2 байта

305 + 200 = 505 = 1111110012 = 0000 0001 1111 1001 → 2 байта

6310 + 3610 = 99 < 28 → 1 байт

63 + 36 = 99 = 11000112 = 0110 0011 → 1 байт

Дополнительный код целого отрицательного числа

1. записать прямой код модуля числа (в нужном количестве разрядов)

2. инвертировать его (заменить 0 на 1 и 1 на 0).

3. прибавить к инверсному коду 1.

Пример 10

Представить в дополнительном коде -810. |-8| = 8 = 10002 = 0000 1000

  Модуль числа – 8 в двоичной форме
  Инверсия модуля отрицательного числа
+  
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru единица в старшем разряде признак отрицательного числа

Сложение основного и дополнительного кодов дают нуль, т.е. дополнительный код дополняет до нуля.



     
+   - 8  
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru 1    

Пример 11

2510 – 510 = 2510 + (-5)10 = 2010

Пример 12

Провести следующие вычисления в двоичной форме: 2510 – 3510 = - 1010

2510 = 0001 10012 3510 = 0010 00112

|-3510| = 0010 00112 модуль числа - 3510

Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru = 1101 11002 инверсия модуля числа - 3510

1101 11012 дополнительный код числа - 3510

   
+   дополнительный код числа - 3510
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru   старший разряд 1
    инверсия результата
+   + 1
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru   результат вычитания

Проверка: 0000 10102 = 0·27 + 0·26 + 0·25 + 0·24 + 1·23 + 0·22 + 1·21 + 0·20 = 1010

Пример 13

Провести следующие вычисления в шестнадцатеричной форме: 4410 – 5910 = - 1510

4410 = 2С16

|-5910| = 3В16 модуль числа - 3510

Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru = С416 инверсия модуля числа - 5910

С516 дополнительный код числа - 5910

  С  
+ С   дополнительный код числа - 3510
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru F   старший разряд 1
  Е   инверсия результата
+   + 1
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru F   результат вычитания

Проверка: 0F16 = 0·161 + 15·160 = 1510

Пример 14

Перевести число 10,110 в двоичный вид

1. целая часть числа 1010 = 10102

2. дробная часть числа 0,1

N п/п         запоминаем
0,1 × 0,2
0,2 × 0,41
0,4 × 0,8
0,8 × 1,6
0,6 × 1,2
0,2 × 0,4
0,4 × 0,8
0,8 × 1,6
0,6 × 1,2
0,2 × 0,4

Проверка: 10,00011001102 = 1·23 + 0·22 + 1·21 + 0·20 + 0·2-1 + 0·2-2 + 0·2-3 + 1·2-4 + 1·2-5 +

0·2-6 + 0·2-7 + 1·2-8 + 1·2-9 + 0·2-10 = 10,099609…

Видно, что результат и исходное число в дробной части отличаются.

Вычислим погрешность для дробной части нашего случая с числом двоичных разрядов после запятой 10

Nисходное – Nполучившееся = Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru абсолютная погрешность

Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru относительная погрешность в процентах.

В нашем случае для Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru : Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru 0,391%.

Расчеты целесообразно вести до разумных пределов по погрешности или до ограничения разрядной сеткой.

Пример 15

Переведем число 973,23210 в шестнадцатеричный код

N п/п         запоминаем
0,232 × 3,712
0,712 × 11,392 В
0,392 × 6,272
0,272 × 4,352

973,23210 = 3CD,3B6416

Ограничим число разрядов после запятой. Перевести число 3CD,3B16 в десятичный код:

3CD,3B16 = 3·162 + 12·161 + 13·160 + 3·16-1 + 11·16-2 = 973,2304710

Погрешность Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru 0,202 %

Сложение дробной части вещественного числа в любой системе исчисления осуществляется традиционным образом, т.е. как и децимальной. При этом перенос в целую часть числа особенностей не имеет.

Пример 16

Сложить числа 0,510 + 0,62510 = 1,12510 в двоичной форме

0,510 = 0,12 0,62510 = 0,1012

  0,
+ 0,
Алгоритм перевода чисел из системы с основанием Р в десятичную - student2.ru 1,

0,12 + 0,1012 = 1,0012

Проверка: 1,0012 = 1·20 + 0·2-1 + 0·2-2 + 1·2-3 = 1,12510

Пример 17

а) Закодируйте выражение 25+10·(9-7)/4 = 30 в кодах ASCII-шестнадцатеричный

0032 0035 002В 0031 0030 00B7 0028 0039 002D 0037 0029 002F 0034 003D 0033 0030

б) Закодируйте выражение ″Двоичное кодирование″ в кодах ASCII-десятичный

2033 196 226 238 232 247 237 238 229 32 234 238 228 232 240 238 226 224 237 232 229 2033

в) найти опечатку в коде слова «Organization»

171 79 114 103 97 110 105 122 97 116 105 109 110 187

Пример 3

41810 = 4 ∙ 102 + 1 ∙101 + 8 ∙ 100

Наибольшее распространение в информатике и ВТ получили:

двоичная, восьмеричная, шестнадцатеричная системы счисления.

Алфавиты:

0, 1, 2, 9 DEС
0, 1 BIN
0, 1, 2, …, 7 OCT
0, 1, 2, …, 9, А, B, C, D, E, F HEX

Заметим, что 8 = 23, 16 = 24.

Чем больше основание системы, тем меньше цифр необходимо для отображения числа.

Пример 4

4110 = 1010012 = 518 = 2916

Алгоритм перевода чисел из системы с основанием Р в десятичную

1. Пронумеровать разряды справа налево, начиная с нулевого.

2. Вычислить сумму произведений цифр в соответствующих разрядах на основание системы в степени, равной номеру разряда.

100112

100112 = 1910 1·24 + 0·23 + 0·22 + 1·21 + 1·20 = 19

Наши рекомендации