Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Теоретический материал. Определение 1



Определение 1. Система счисления – это способ представления чисел и соответствующие ему правила действия над числами.

Определение 2. Место, которое занимает цифра в записи числа, по-другому называют разрядом. Разряды нумеруются (первый, второй, третий и так далее), или называются единицы, десятки, сотни…

Определение 3.Развернутой формой записи числа называется запись в виде Aq=±(an-1qn-1+an-2qn-2+…+a0q0+a-1q-1+a-2q-2+…+a-mq-m), где Aq – число, q – основание системы счисления, ai – цифры данной системы счисления, n – число разрядов целой части числа, m – число разрядов дробной части числа.

Перевод чисел в различные системы счисления

1. Для того чтобы перевести десятичное число в какую-либо систему счисления, необходимо выполнить последовательное деление данного числа и получаемых неполных частных на основание системы, в которую его требуется перевести, до тех пор пока не получим в неполное частное меньше делителя. Для записи числа в новой системе счисления, выписываются последнее частное и полученные остатки в направлении от последнего к первому.

Пример 2.1. Перевести из десятичной системы счисления в двоичную число 564.

Решение

                        0
                     
                   
                 
            и л и  
                   
                   
                   
                   
                     
                             

564(10) =1000110100(2).

Ответ: 1000110100(2).

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

Пример 2.2. Перевести число 10011101(2) из двоичной системы счисления в десятичную.

Решение

10011101(2) = 1·27+0·26+0·25+1·24+1·23+1·22+0·21+1·20=128+16+8+4+1=157(10).

Ответ: 157(10).

 

3. Для того чтобы целое двоичное число записать в системе счисления с основанием 8 (16), нужно:

· данное двоичное число разбить справа налево на группы по 3 (4) цифры в каждой;

· если в последней группе окажется меньше разрядов, то её надо дополнить слева нулями до нужного числа разрядов;

· заменить каждую группу соответствующей цифрой в восьмеричной (шестнадцатеричной) системе счисления.

4. Для того чтобы произвольное число, записанное в системе счисления с основанием 8 (16) перевести в двоичную систему счисления, нужно каждую цифру этого числа заменить соответствующей триадой (тетрадой).

Таблицы соответствия цифрам тетрад и триад.

8-чная цифра 2-чная триада   16-чная цифра 2-чная тетрада
 
 
 
 
 
 
 
 
     
     
      A
      B
      C
      D
      E
      F

Пример 2.3. Перевести в шестнадцатеричную и восьмеричную систему счисления двоичное число.

Решение

011010011(2)=323(8).

11010011(2)=D3(16).

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

Пример 2.4. Перевести в двоичную систему счисления дробное десятичное число 15,1875(10).

Решение

 
 
 
 
     

15,1875(10)=1111,0011(2).

Пример 2.5. Перевести в десятичную систему счисления число 1216,04(8).

Решение

1216,04(8) = 1·83 + 2·82 + 1·8 + 6·80 + 0·8-1 + 4·8-2 = 512 + 32 + 8 + 6 + 0,0625 = = 558,0625(10).

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

 

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

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

Операцию умножения производят в два действия:

1) поразрядное умножение одного числа на цифру другого;

2) размещение полученных результатов в виде столбика со сдвигом разрядов до последующего сложения.

Удобно умножать поразрядно на то число, которое имеет меньше разрядов.

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

 

Таблица сложения в двоичной системе счисления Таблица умножения в двоичной системе счисления
0+0=0 0·0=0
0+1=1 0·1=0
1+0=1 1·0=0
1+1=10 1·1=1
Таблица умножения в восьмеричной системе счисления
*
Таблица сложения в восьмеричной системе счисления
+
Таблица сложения в шестнадцатеричной системе счисления
+ 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

Пример 2.6. Найти сумму двоичных чисел 10000000100(2) и 111000010(2).

Решение

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

+
   
 

Пример 2.7. Найти разность двоичных чисел 10010110(2) и 1101011(2).

 

       
 
     

Пример 2.8. Найти сумму и разность восьмеричных чисел 215,48 и 73,68

 

     
+ 5,  
  3,  
  3,  

 

5,  
  3,  
  1,  

 

Пример 2.9. Найти сумму и разность шестнадцатеричных чисел 27D,D8(16) и 191,2(16).

 

+ D, D
1,  
  E, F

 

D, D
1,  
    E C, B

Пример 2.10. Найти произведение чисел 100111(2) и 1000111(2).

 

        ×  
       
           
           
           
           

 

Пример 2.11. Найти произведение чисел 163(8) и 63(8).

 

    ×
     
+    
   
 

Пример 2.12. Найти произведение чисел 61,A(16) и 40,D(16).

 

    × 1, A
    0, D
    F
   
B 7,

 

Двоично-десятичная система

Пример 2.13. Перевести число –56,5(10) в двоично-десятичную систему.

Решение

Число имеет 3 цифры и знак «минус», следовательно, потребуется 3 двоичные тетрады для цифр и одна для знака. Причем, знаковая тетрада всегда записывается последней.

5 = 0101; 6 = 0110; “–“ = 1101 (“+”= 1100).

Окончательно получаем 01010110,01011101(2-10).

Пример 2.14. Перевести число 100000101101100(2-10) из двоично-десятич­ной системы в десятичную.

Решение

Разобьем данное число на тетрады, двигаясь справа налево, и заменим их соответствующими цифрами и знаком.

0100’0001’0110’1100(2-10) = 416(10).

Примечание: первая справа тетрада кода отводится на знак: 1100 = “+” или 1101 = “–“.

Прямой, обратный и дополнительный код

 

Примем сокращения для обозначения кодов: пр – прямой, об – обратный, доп – дополнительный.

Для получения прямого кода числа нужно дополнить слева двоичную запись таким количеством незначащих нулей, сколько требует заданный тип. Первая левая цифра кодирует знак числа: 0 – положительное, 1 – отрицательное. Кодовый разряд будем отделять точкой.

Пример 2.15. Представить в прямом, обратном и дополнительном кодах, форматах Integer (16 разрядов), Longint (32 разряда) числа.

а) 88(10).

Решение

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

88(10) = 1011000(2).

2. Известно, что для положительного числа все три кода совпадают, то есть

[8810]пр = [8810]обр = [8810]доп = 0.000000001011000 – тип Integer;

[8810]пр = [8810]обр = [8810]доп = 0.0000000000000000000000001011000 – тип Longint.

б) – 45.

Решение

45(10) = 101101(2).

Запишем прямой код числа (– 45):

[– 4510]пр = 1.000000000101101 – тип Integer.

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

[– 4510]обр = 1.111111111010010 – тип Integer.

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

[– 4510]доп = 1.111111111010011 – тип Integer.

Для типа Longint коды имеют вид:

[– 4510]пр = 1.0000000000000000000000000101101;

[– 4510]обр = 1.1111111111111111111111111010010;

[– 4510]доп = 1.1111111111111111111111111010011.

Выполним обратную задачу.

Пример 2.16. Записать число, соответствующее двоичному коду.

а) 0.000000000010110.

Решение

Так как в старшем разряде 0, то число положительное. Значит, прямой, обратный и дополнительный код совпадают. Отбросим незначащие нули и переведем оставшееся двоичное число в десятичную систему счисления.

101102 = 16 + 4 + 2 = 2210.

Ответ: 2210.

 

б) 1.111111111000000.

Решение

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

1. Вычтем 1 из данного кода.

1.
                             
  1.

2. Инвертируем полученное число, оставив без изменения первый разряд: 1.000000001000000.

3. Отбросим все незначащие нули и переведем двоичное число в десятичную систему: 10000002 = 6410. С учетом знакового разряда, получаем число – 6410.

Ответ: – 6410.

 

Правила сложения и вычитания для двоичных кодов положительных и отрицательных чисел:

А – В = А + (–В)

–А + В = (–А) + В

–А – В = (–А) + (–В)

Пример 2.17. Представить в дополнительном коде в формате Integer числа 451 и 228 и выполнить их сложение и вычитание в соответствующих кодах.

Решение

1. Найдем дополнительные коды данных чисел. Так как оба числа положительны, то их дополнительные коды равны прямым.

   
   
   
   
   
   
   
   
       

[451]доп = 0.000000111000011;

[228]доп = 0.000000011100100.

2. Выполним сложение дополнительных кодов по обычным правилам сложения двоичных чисел.

+ 0.
0.
  0.

3. Найдем разность 451 – 228.

Для отыскания разности кодов воспользуемся правилом замены разности суммой: А–В=А+(–В). Тогда получаем 451 – 228 = 451 + (–228). Видим, что нам понадобится найти дополнительный код числа –228.

[–228]доп = 1.111111100011100.

Выполним сложение:

 

+ 0.
1.
  0.

 

Ответ: код суммы – 0.000001010100111;

код разности – 0.000000011011111.

Нормализованный код

Рассмотрим представление дробного числа в четырехбайтовой ячейке памяти. Это число типа Single. В ячейке должна содержаться следующая информация: код знака числа, машинный порядок и мантисса.

В старшем разряде первого байта хранится машинный порядок. 2, 3, 4 байты отводятся под мантиссу.

Связь между машинным порядком и математическим выражается формулой

Мр1 = р + 64 или Мр2 = р2 + 10000002.

 

Пример 2.18. Записать код действительного числа 250,1875, интерпретируя его как величину типа Single.

Решение

1. Переведем число в двоичную систему счисления с 24 значащими цифрами.

   
 
 
 
 
     
     
     

Недостающие до 24 разрядов дополним нулями справа:

250,187510=11111010,00110000000000002.

2. Запишем в форме нормализованного двоичного числа с плавающей точкой:

0,111110100011000000000000·28 или 0,111110100011000000000000·101000.

3. Вычислим машинный порядок в двоичной системе счисления:

М p2 = 1000 + 1000000 = 1001000.

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

1111’1010’0011’0000’0000’0000
23 0

5. В шестнадцатеричной системе счисления полученный код примет вид 48FA3000.

 

 




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

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.