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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

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

2017-12-21 480
Алгоритм перевода чисел из системы с основанием Р в десятичную 0.00 из 5.00 0 оценок
Заказать работу

Пример 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

 

     
+    
     

 

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

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

 

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

 

Пример 8

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

 

           
×          
         
+          
           

 

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

 

 

Пример 9

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

 

    В
×   С
   

 

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

 

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

 

      В
×     С
  С  
+      
  А    

 

Проверка: А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 в двоичной форме
                  Инверсия модуля отрицательного числа
+                  
                единица в старшем разряде признак отрицательного числа

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

 

                       
+                   - 8  
1                      

 

Пример 11

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

 

Пример 12

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

 

2510 = 0001 10012 3510 = 0010 00112

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

= 1101 11002 инверсия модуля числа - 3510

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

 

                     
+                   дополнительный код числа - 3510
                  старший разряд 1
                    инверсия результата
+                   + 1
                  результат вычитания

 

Проверка: 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

= С416 инверсия модуля числа - 5910

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

    С    
+ С     дополнительный код числа - 3510
F     старший разряд 1
    Е   инверсия результата
+       + 1
  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получившееся = абсолютная погрешность

относительная погрешность в процентах.

В нашем случае для : 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

Погрешность 0,202 %

 

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

 

Пример 16

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

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

 

  0,      
+ 0,      
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

 


Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.079 с.