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




Системы счисления

Системы счисления — одна из традиционных тем курса информатики, восходящих к программированию ЭВМ первых поколений в машинных кодах. В настоящее время данная тема сохраняет свое значение как весьма типичный случай кодирования информации, а также в связи с широким использованием шестнадцатеричных обозначений в машинно-ориентированных разделах программирования. Знание систем счисления полезно для понимания представления данных в памяти ЭВМ и операций над ними. Системы счисления (особенно по основанию 10) достаточно подробно изучаются в курсах математики и информатики средней общеобразовательной школы. В данном курсе эта тема предполагает повторение уже известных сведений, специализацию в отношении систем счисления по основанию 16, 8 и 2, а также обобщение в плане кодирования информации.

Целесообразно проведение семинарского занятия, подготовка рефератов, посвященных истории и значению позиционных систем счисления. Особое внимание следует уделить формированию стабильных навыков чтения и записи чисел в шестнадцатеричной системе. Полезным является и знакомство с различными приемами перевода чисел в системы счисления по основанию 2, 8 и 16, в том числе с помощью калькулятора или компьютера и встроенного интерпретатора языка BASIC.

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

При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению;

2) если переводится дробная часть числа, то она умножается на P, после чего целая часть запоминается и отбрасывается. Вновь полученная дробная часть умножается на P и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием P.

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

а) 464(10); б) 380,1875(10); в) 115,94(10)

Решение

а) 464     б) 380         в) 115      
                       
                       
                       
                       
                       
                       
                       
                       

а) 464(10)=111010000(2); б) 380,1875(10) = 101111100,0011(2); в) 115,94(10) » 1110011,11110(2)

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

Если необходимо перевести число из двоичной системы счисления в систему счисления, основанием которой является степень двойки, достаточно объединить цифры двоичного числа в группы по столько цифр, каков показатель степени, и использовать приведенный ниже алгоритм. Например, если перевод осуществляется в восьмеричную систему, то группы будут содержать три цифры (8 = 23). В целой части числа группировка производится справа налево, в дробной части — слева направо. Если в последней группе недостает цифр, дописываются нули: в целой части — слева, в дробной — справа. Затем каждая группа заменяется соответствующей цифрой новой системы. Соответствия приведены в таблице.

P Соответствия
           
           
                   
                                 
                                 
                      A B C D E F

Переведем из двоичной системы в шестнадцатеричную число 1111010101,11(2).

001111010101, 1100 (2) = 3D5,C(16).

При переводе чисел из системы счисления с основанием P в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и дробной части, начиная с разряда сразу после запятой, слева направо (начальный номер –1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

Пример 2. Перевести данное число в десятичную систему счисления:

а) 1000001(2).

1000001(2) = 1 × 26 + 0 × 25 + 0 × 24 + 0 × 23 + 0 × 22 + 0 × 21 + 1 × 20 = 64 + 1 = 65(10).

Замечание. Если в каком-либо разряде стоит нуль, то соответствующее слагаемое можно опускать.

б) 1000011111,0101(2).

1000011111,0101(2) = 1 × 29 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 + 1 × 2–2 + 1 × 2–4 =

= 512 + 16 + 8 + 4 + 2 + 1 + 0,25 + 0,0625 = 543,3125(10).

в) 1216,04(8).

1216,04(8) = 1 × 83 + 2 × 82 + 1 × 81 + 6 × 80 + 4 × 8–2 = 512 + 128 + 8 + 6 + 0,0625 = 654,0625(10).

г) 29A,5(16).

29A,5(16) = 2 × 162 + 9 × 161 + 10 × 160 + 5 × 16–1 = 512 + 144 + 10 + 0,3125 = 656,3125(10).

 

Для выполнения арифметических операций в системе счисления с основанием P необходимо иметь соответствующие таблицы сложения и умножения.

+       ´    
             
             

 

+                
                 
                 
                 
                 
                 
                 
                 
                 

 

´                
                 
                 
                 
                 
                 
                 
                 
                 

 

 

+                     A B C D E F
                      A B C D E F
                    A B C D E F  
                  A B C D E F    
                A B C D E F      
              A B C D E F        
            A B C D E F          
          A B C D E F            
        A B C D E F              
      A B C D E F                
    A B C D E F                  
A A B C D E F                    
B B C D E F                     1A
C C D E F                     1A 1B
D D E F                     1A 1B 1C
E E F                     1A 1B 1C 1D
F F                     1A 1B 1C 1D 1E

 

 

´                     A B C D E F
                                 
                      A B C D E F
            A C E           1A 1C 1E
          C F       1B 1E       2A 2D
        C       1C       2C       3C
      A F     1E     2D     3C     4B
      C     1E   2A     3C     4E   5A
      E   1C   2A     3F   4D   5B    
                                 
        1B   2D   3F     5A   6C   7E  
A   A   1E     3C     5A   6E     8C  
B   B     2C     4D     6E     8F 9A A5
C   C       3C       6C       9C A8 B4
D   D 1A       4E 5B       8F 9C A9 B6 C3
E   E 1C 2A           7E 8C 9A A8 B6 C4 D2
F   F 1E 2D 3C 4B 5A         A5 B4 C3 D2 E1

Пример 3. Сложить числа:

а) 10000000100(2) + 111000010(2) = 10111000110(2); б) 223,2(8) + 427,54(8) = 652,74(8); в) 3B3,6(16) + 38B,4(16) = 73E,A(16).

 

                                    ,             B   ,  
+                           +                 +          
                                    ,               B ,  
                                    ,               E , A

Пример 4. Выполнить вычитание:

а) 1100000011,011(2) – 101010111,1(2) = 110101011,111(2);

б) 1510,2(8) – 1230,54(8) = 257,44(8);

в) 27D,D8(16) – 191,2(16) = EC,B8(16).

 

                      ,                     ,               D , D  
                                                             
                      ,                                       ,    
                      ,                     ,             E C , B  

Пример 5. Выполнить умножение:

а) 100111(2) ´ 1000111(2) = 101011010001(2);

б) 1170,64(8) ´ 46,3(8) = 57334,134(8);

в) 61,A(16) ´ 40,D(16) = 18B7,52(16).

 

                                        ,6                 1, A
´                           ´                   ´            
                                          ,3               0, D
                                                        F    
+                           +                   +            
                                                             
                                                      B   ,5  
                                      ,1                      
                                                             

Темы для рефератов

 

1. Системы счисления древнего мира.

2. Римская система счисления. Представление чисел в ней и решение арифметических задач.

3. История десятичной системы счисления.

4. Применение в цифровой электронике двоичной, восьмеричной и шестнадцатеричной систем счисления.

 

 

Контрольные вопросы по теме1

 

  1. Понятие «информатика» и структура информатики.
  2. Что такое информация, сигнал, сообщение, данные? Дайте определение.
  3. Опишите основные формы представления информации.
  4. Количество информации, в каких единицах оно измеряется?
  5. Дайте общую характеристику процессов сбора, обработки и передачи информации.
  6. Какие системы счисления называются позиционными, а какие — непозиционными? Приведите примеры.

2. Что называется основанием системы счисления?

3. Почему для вычислительной техники особенно важна система счисления по основанию 2?

4. Почему произошел переход от двоичных к шестнадцатеричным обозначениям в архитектуре ЭВМ?

5. Какие способы перевода целых десятичных чисел в двоичные и обратно вы знаете?

6. Каковы правила выполнения арифметических операций над числами в двоичном представлении?

7. Как переводить целые числа из двоичного представления в восьмеричное и шестнадцатеричное представления и обратно?

8. Какое двоичное представление отрицательных целых числе используется в вычислительной технике?

9. Как представляются в вычислительной технике действительные числа (числа с плавающей запятой)?

10. Дать определение системы счисления. Назвать и охарактеризовать свойства системы счисления.

11. Какие символы используются для записи чисел в двоичной системе счисления, восьмеричной, шестнадцатеричной?

12. Чему равны веса разрядов слева от точки, разделяющей целую и дробную часть, в двоичной системе счисления (восьмеричной, шестнадцатеричной)?

13. Чему равны веса разрядов справа от точки, разделяющей целую и дробную часть, в двоичной системе счисления (восьмеричной, шестнадцатеричной)?


 

Тема 1. ЛАБОРАТОРНАЯ РАБОТА №1

Системы счисления.

Решение задач на уроке

1. В группе 1111002% девочек и 11002 мальчиков. Сколько учеников в группе?

2. Запишите наибольшее двузначное число и определите его десятичный эквивалент для следующих систем счисления:

1) восьмеричной системы счисления;

2) пятеричной системы счисления;

3) троичной системы счисления;

4) двоичной системы счисления

Проверьте правильность полученных заданий с помощью калькулятора

 

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

908,7410®16® 2® 8

 

 

3. Переведите числа

723,7458®2, 10, 16

F15,A616®2, 8, 10

10111011,111012®8, 10, 16

 

5. Упорядочите следующие числа по убыванию: 1436, 509, 12223, 10114, 1100112, 1283

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

a) 10111011 + 1110011

b) 111011 - 10111

c) 7AB + 124

d) 1AF1 + 124

e) 101111 + 10100

f) 1011101 - 110110

g) 12C + D45

h) 1111000 - 100001

i) 11000011 + 1111111



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: