Сложение в шестнадцатиричной системе

Арифметические основы компьютеров

1. Что такое система счисления?

Система счисления — это совокупность приемов и правил, по которым числа записываются и читаются.

Существуют позиционные и непозиционные системы счисления.

В непозиционных системах счисления вес цифры (т. е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая — 7 единиц, а третья — 7 десятых долей единицы.

Сама же запись числа 757,7 означает сокращенную запись выражения

700 + 50 + 7 + 0,7 = 7 . 102 + 5 . 101 + 7 . 100 + 7 . 10—1 = 757,7.

Любая позиционная система счисления характеризуется своим основанием.

Основание позиционной системы счисления — количество различных цифр, используемых для изображения чисел в данной системе счисления.

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

an-1 qn-1 + an-2 qn-2 + ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,


где ai — цифры системы счисления; n и m — число целых и дробных разрядов, соответственно.
Например:



2. Как порождаются целые числа в позиционных системах счисления?

В каждой системе счисления цифры упорядочены в соответствии с их значениями: 1 больше 0, 2 больше 1 и т.д.

Продвижением цифры называют замену её следующей по величине.

Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе)означает замену её на 0. В двоичной системе, использующей только две цифры — 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 — замену её на 0.

Целые числа в любой системе счисления порождаются с помощью Правила счета :

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

Применяя это правило, запишем первые десять целых чисел

  • в двоичной системе: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001;
  • в троичной системе: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100;
  • в пятеричной системе: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14;
  • в восьмеричной системе: 0, 1, 2, 3, 4, 5, 6, 7, 10, 11.

 

3. Какие системы счисления используют специалисты для общения с компьютером?

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

  • двоичная (используются цифры 0, 1);
  • восьмеричная (используются цифры 0, 1, ..., 7);
  • шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел — от десяти до пятнадцати — в качестве цифр используются символы A, B, C, D, E, F).

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

10-я 2-я 8-я 16-я
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10-я 2-я 8-я 16-я
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11
18 10010 22 12
19 10011 23 13

Из всех систем счисления особенно проста и поэтому интересна для технической реализации в компьютерах двоичная система счисления.

4. Почему люди пользуются десятичной системой, а компьютеры — двоичной?

Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления.

А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

  • для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;
  • представление информации посредством только двух состояний надежно и помехоустойчиво;
  • возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
  • двоичная арифметика намного проще десятичной.

Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.

5. Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления?

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

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

Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 — соответственно, третья и четвертая степени числа 2).

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).

Например:


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

Например,

6. Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?

Для перевода целого десятичного числа N в систему счисления с основанием q необходимо N разделить с остатком ("нацело") на q , записанное в той же десятичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на q , и т.д., пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных одной q-ичной цифрой и записанных в порядке, обратном порядку их получения.

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

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

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

Для перевода правильной десятичной дpоби F в систему счисления с основанием q необходимо F умножить на q , записанное в той же десятичной системе, затем дробную часть полученного произведения снова умножить на q, и т. д., до тех пор, пока дpобная часть очередного пpоизведения не станет pавной нулю, либо не будет достигнута требуемая точность изображения числа F в q-ичной системе. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения и изображенных одной q-ичной цифрой. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется q -(k+1) / 2.

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

 

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

 

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

Перевод в десятичную систему числа x, записанного в q-ичной cистеме счисления (q = 2, 8 или 16) в виде xq = (anan-1 ... a0 , a-1 a-2 ... a-m)q сводится к вычислению значения многочлена x10 = an qn + an-1 qn-1 + ... + a0 q0 + a-1 q -1 + a-2 q-2 + ... + a-m q-m средствами десятичной арифметики.

Примеpы:

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

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

На этом рисунке использованы следующие обозначения:

  • в кружках записаны основания систем счисления;
  • стрелки указывают направление перевода;
  • номер рядом со стрелкой означает порядковый номер соответствующего примера в сводной таблице 4.1.

Например: означает перевод из двоичной системы в шестнадцатеричную, имеющий в таблице порядковый номер 6.

Сводная таблица переводов целых чисел
Таблица 4.1.

 

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

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

С л о ж е н и е

Таблицы сложения легко составить, используя Правило Счета.

Сложение в двоичной системе Сложение в восьмеричной системе

Сложение в шестнадцатиричной системе

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

 

 

Пример 1. Сложим числа 15 и 6 в различных системах счисления.


Шестнадцатеричная: F16+616 Ответ: 15+6 = 2110 = 101012 = 258 = 1516. Проверка. Преобразуем полученные суммы к десятичному виду: 101012 = 24 + 22 + 20 = 16+4+1=21, 258 = 2 . 81 + 5 . 80 = 16 + 5 = 21, 1516 = 1 . 161 + 5 . 160 = 16+5 = 21.

Пример 2. Сложим числа 15, 7 и 3.

Шестнадцатеричная: F16+716+316 Ответ: 5+7+3 = 2510 = 110012 = 318 = 1916. Проверка: 110012 = 24 + 23 + 20 = 16+8+1=25, 318 = 3 . 81 + 1 . 80 = 24 + 1 = 25, 1916 = 1 . 161 + 9 . 160 = 16+9 = 25.

Пример 3. Сложим числа 141,5 и 59,75.



Ответ: 141,5 + 59,75 = 201,2510 = 11001001,012 = 311,28 = C9,416 Проверка. Преобразуем полученные суммы к десятичному виду: 11001001,012 = 27 + 26 + 23 + 20 + 2-2 = 201,25 311,28 = 3 . 82 + 181 + 1 . 80 + 2 . 8-1 = 201,25 C9,416 = 12 . 161 + 9 . 160 + 4 . 16-1 = 201,25

В ы ч и т а н и е

Пример 4. Вычтем единицу из чисел 102, 108 и 1016



Пример 5. Вычтем единицу из чисел 1002, 1008 и 10016.



Пример 6. Вычтем число 59,75 из числа 201,25.


Ответ: 201,2510 - 59,7510 = 141,510 = 10001101,12 = 215,48 = 8D,816.

Проверка. Преобразуем полученные разности к десятичному виду: 10001101,12 = 27 + 23 + 22 + 20 + 2-1 = 141,5; 215,48 = 2 . 82 + 1 . 81 + 5 . 80 + 4 . 8-1 = 141,5; 8D,816 = 8 . 161 + D . 160 + 8 . 16-1 = 141,5.

У м н о ж е н и е

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

Умножение в двоичной системе Умножение в восьмеричной системе

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

Пример 7. Перемножим числа 5 и 6.


Ответ: 5 . 6 = 3010 = 111102 = 368. Проверка. Преобразуем полученные произведения к десятичному виду: 111102 = 24 + 23 + 22 + 21 = 30; 368 = 381 + 680 = 30.

Пример 8. Перемножим числа 115 и 51.


Ответ: 115 . 51 = 586510 = 10110111010012 = 133518. Проверка. Преобразуем полученные произведения к десятичному виду: 10110111010012 = 212 + 210 + 29 + 27 + 26 + 25 + 23 + 20 = 5865; 133518 = 1 . 84 + 3 . 83 + 3 . 82 + 5 . 81 + 1 . 80 = 5865.

Д е л е н и е

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

Пример 9. Разделим число 30 на число 6.

Ответ: 30 : 6 = 510 = 1012 = 58.

Пример 10. Разделим число 5865 на число 115.

Восьмеричная: 133518 :1638

Ответ: 5865 : 115 = 5110 = 1100112 = 638. Проверка. Преобразуем полученные частные к десятичному виду: 1100112 = 25 + 24 + 21 + 20 = 51; 638 = 6 . 81 + 3 . 80 = 51.

Пример 11. Разделим число 35 на число 14.

Восьмеричная: 438 : 168

Ответ: 35 : 14 = 2,510 = 10,12 = 2,48. Проверка. Преобразуем полученные частные к десятичному виду: 10,12 = 21 + 2 -1 = 2,5; 2,48 = 2 . 80 + 4 . 8-1 = 2,5.

Упражнения

1. Используя Правило Счета, запишите первые 20 целых чисел в десятичной, двоичной, троичной, пятеричной и восьмеричной системах счисления.

2. Какие целые числа следуют за числами:

а) 12; е) 18; п) F16;
б) 1012; ж) 78; м) 1F16;
в) 1112; з) 378; н) FF16;
г) 11112; и) 1778; о) 9AF916;
д) 1010112; к) 77778; п) CDEF16 ?

3. Какие целые числа предшествуют числам:

а) 102; е) 108; л) 1016;
б) 10102; ж) 208; м)2016;
в) 10002; з) 1008; н) 10016;
г) 100002; и) 1108; о) A1016;
д) 101002; к) 10008; п) 100016 ?

4. Какой цифрой заканчивается четное двоичное число? Какой цифрой заканчивается нечетное двоичное число? Какими цифрами может заканчиваться четное троичное число?

5. Какое наибольшее десятичное число можно записать тремя цифрами:

  • а) в двоичной системе;
  • б) в восьмеричной системе;
  • в) в шестнадцатеричной системе?

6. В какой системе счисления 21 + 24 = 100?

Решение. Пусть x — искомое основание системы счисления. Тогда 100x = 1 · x2 + 0 · x1 + 0 · x0, 21x = 2 · x1 + 1 · x0, 24x = 2 · x1 + 4 · x0. Таким образом, x2 = 2x + 2x + 5 или x2 - 4x - 5 = 0. Положительным корнем этого квадратного уравнения является x = 5. Ответ. Числа записаны в пятеричной системе счисления.

7. В какой системе счисления справедливо следующее:

  • а) 20 + 25 = 100;
  • б) 22 + 44 = 110?

8. Десятичное число 59 эквивалентно числу 214 в некоторой другой системе счисления. Найдите основание этой системы.

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

а) 10110112; е) 5178; л) 1F16;
б) 101101112; ж) 10108; м) ABC16;
в) 0111000012; з) 12348; н) 101016;
г) 0,10001102; и) 0,348; о) 0,А416;
д) 110100,112; к) 123,418; п) 1DE,C816.

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

а) 12510; б) 22910; в) 8810; г) 37,2510; д) 206,12510.

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

а) 1001111110111,01112; г) 1011110011100,112;
б) 1110101011,10111012; д) 10111,11111011112;
в) 10111001,1011001112; е) 1100010101,110012.

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

а) 2СE16; б) 9F4016; в) ABCDE16; г) 1010,10116; д) 1ABC,9D16.

13. Выпишите целые числа:

  • а) от 1011012 до 1100002 в двоичной системе;
  • б) от 2023 до 10003 в троичной системе;
  • в) от 148 до 208 в восьмеричной системе;
  • г) от 2816 до 3016 в шестнадцатеричной системе.

14. Для десятичных чисел 47 и 79 выполните цепочку переводов из одной системы счисления в другую:

15. Составьте таблицы сложения однозначных чисел в троичной и пятеричной системах счисления.

16. Составьте таблицы умножения однозначных чисел в троичной и пятеричной системах счисления.

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

а) 10111012 и 11101112; д) 378 и 758; и) A16 и F16;
б) 1011,1012 и 101,0112; е) 1658 и 378; к) 1916 и C16;
в) 10112, 112 и 111,12; ж) 7,58 и 14,68; л) A,B16 и E,F16;
г) 10112 , 11,12 и 1112; з) 68, 178 и 78; м) E16, 916 и F16.

18. В каких системах счисления выполнены следующие сложения? Найдите основания каждой системы:

19. Найдите те подстановки десятичных цифр вместо букв, которые делают правильными выписанные результаты (разные цифры замещаются разными буквами):

20. Вычтите:

а) 1112 из 101002; д) 158 из 208; и) 1А16 из 3116;
б) 10,112 из 100,12; е) 478 из 1028; к) F9E16 из 2А3016;
в) 111,12 из 100102; ж) 56,78 из 1018; л) D,116 из B,9216;
г) 100012 из 1110,112; з) 16,548 из 30,018; м) ABC16 из 567816.

21. Перемножьте числа, а затем проверьте результаты, выполнив соответствующие десятичные умножения:

а) 1011012 и 1012; д) 378 и 48;
б) 1111012 и 11,012; е) 168 и 78;
в) 1011,112 и 101,12; ж) 7,58 и 1,68;
г) 1012 и 1111,0012; з) 6,258 и 7,128.

22. Разделите 100101102 на 10102 и проверьте результат, умножая делитель на частное.

23. Разделите 100110101002 на 11002 и затем выполните соответствующее десятичное и восьмеричное деление.

24. Вычислите значения выражений:

  • а) 2568 + 10110,12 . (608 + 1210) - 1F16;
  • б) 1AD16 - 1001011002 : 10102 + 2178;
  • в) 101010 + (10616 - 110111012)  128;
  • г) 10112 . 11002 : 148 + (1000002 - 408).

25. Расположите следующие числа в порядке возрастания:

  • а) 748, 1100102, 7010, 3816;
  • б) 6E16, 1428, 11010012, 10010;
  • в) 7778, 1011111112, 2FF16, 50010;
  • г) 10010, 11000002, 6016, 1418.

 


Дата добавления: 2020-12-12; просмотров: 144; Мы поможем в написании вашей работы!

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




Мы поможем в написании ваших работ!