Дж. Андерсон - Дискретная математика и комбинаторика (2004) (1127091), страница 40
Текст из файла (страница 40)
5.11 и 5.12. ПРИМЕР 8.48. Требуется выполнить следующие операции в шестнадцатеричной системе счисления: а) Г051 б) ЕР32 315А — 475А +4163 В5Р8 1630Е в) 28 х34 АО 78 820 ° УПРАЖНЕНИЯ 1. Запишите числа от 1 до 25 в двоичной системе счисления. 2. Запишите числа от 1 до 25 в шестнадцатеричной системе счисления. 3. Преобразуйте следующие десятичные числа в двоичные: а) 45; б) 86; в) 243; г) 194; д) 312. Таким образом, 101100.0111101з = 2С,7Амь Точно так же получаем 011100.11з = 00011100.1100 = 1С,Снь Строим обратный процесс, преобразуя шестнадцатеричные числа в двоичные.
Пусть дано шестнадцатеричное число 72Г5. Поскольку 7гв = 011!а, 2га = 0010з, Егг = 1111з и 5ге = 0101а, то 72Е5ы = 0111001011110!О!а. Аналогично, 2А.ЗС = 00101010.00111100 = 101010.001111. Для чисел, представленных в двоичной форме, справедливы те же правила сложения, вычитания, умножения и деления, как и для чисел, представленных в десятичной форме, исключая тот факт, что сложение и вычитание производится согласно приведенным ниже таблицам: РАЗВЕЛ 5.6.
Двоичные и нестнадцатеричные числа 229 + 1 2 3 7 8 9 А В С Р Е Г Рис 5Л1 7 8 9 А В С Р Е Г х 1 2 3 4 5 6 8 9 А В С Р Е Г 10 12 14 16 18 1А 1С 1Е 18 1В 1Е 21 24 27 2А 2Р 20 24 28 2С 30 34 38 ЗС 28 2Р 32 37 ЗС 41 46 4В ЗО 36 ЗС 42 48 4Е 54 5А 38 ЗГ 46 4Р 54 5В 62 69 40 48 50 58 60 68 70 78 48 51 5А 63 6С 75 7Е 87 50 5А 64 6Е 78 82 8С 96 58 63 6Е 79 84 8Г 9А А5 60 6С 78 84 90 9С А8 В4 68 75 82 8Г 9С А9 Вб СЗ 70 7Е 8С 9А А8 Вб С4 Р2 78 87 96 А5 В4 СЗ Р2 Е1 3 4 5 6 8 А 9 С Г 6 7 с е 12 15 18 1С С Г 12 10 14 18 14 19 1Е 1Е 24 23 2А 1С 20 24 28 23 28 гР 32 2А 30 36 15 18 1В 1Е 31 38 ЗГ ЗС 42 48 4Е 54 5А 46 4Р 54 5В 62 69 2С 30 34 38 зс 21 24 27 2А 2Р 37 зс 41 46 4В Рис. 5.72 4.
Преобразуйте а) 53; в) 287; д) 334. б. Преобразуйте а) 1011; в) 100100; д) ПО101. следующие десятичные числа в двоичные: б) 99; г) 186; следующие двоичные числа в десятичные: б) 11010; г) 111011; 1 2 3 4 5 6 7 8 9 А В с Р Е Г 1 2 3 4 5 6 7 8 9 А в с Р Е Г 2 3 4 3 4 5 4 5 6 5 б 7 6 7 8 7 8 9 8 9 А 9 А В А В С В С Р С Р Е Р Е Г Е Г 10 Г 10 11 10 11 12 1 2 2 4 3 6 4 8 5 А 6 С 7 Е 8 10 9 12 А 14 В 16 С 18 Р 1А Е 1С Г 2Е 5 6 7 8 9 А в С Р Е Г 10 11 12 13 6 7 8 9 А В С Р Е Г 10 11 12 13 14 7 8 9 А в с Р Е Г 10 11 12 13 14 15 8 9 А В С Р Е Г 10 11 12 13 14 15 16 9 А В А В С В С Р С Р Е Р Е Г Е Г 10 Г 10 11 10 11 12 11 12 13 12 13 14 13 14 15 14 15 16 15 16 17 16 17 18 17 18 19 С Р Р Е Е Г Г 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 1А 1А 1В Е Г 10 Г 10 11 10 11 12 11 12 13 12 13 14 13 14 15 14 15 16 15 16 17 16 17 18 17 18 19 18 19 1А 19 1А 1В 1А 1В 1С 1В 1С 1Р 1С 1Р 1Е 230 ГПАйд 5, кииоритмы и рекурсия 6.
Преобразуйте следующие двоичные числа в десятичные: а) 1101; б) 10110; в) 101101; г) 110101; д) 1010101. 7. Преобразуйте следующие десятичные числа в шестнадцатеричные: а) 63; б) 116; в) 376; г) 734; д) 5246. 8. Преобразуйте следующие десятичные числа в шестнадцатеричные: а) 183; б) 297; в) 458; г) 861; д) 36304. 9. Преобразуйте следующие шестнадцатеричные числа в десятичные: а) 4Е; б) 2ЕЗ; в) 4ЕА; г) 41ЕР; д) .01ЕЗ. 10. Преобразуйте следующие шестнадцатеричные числа в десятичные: а) АЕ; б) ЗА4; в) АВ2; г) Р13А; д) 21Е2Р. 11. Преобразуйте следующие десятичные числа в двоичные: а) 23.875; б) 43.75; в) 86.125; г) 94.4; д) 52.3. 12.
Преобразуйте следующие десятичные числа а двоичные: а) 3.1875; б) 22.625; в) 87. 71875; г) 16.53125; д) 34.28125. 13. Преобразуйте следующие двоичные числа в десятичные: а) 1110.11; б) 1010.101; в) 100.1001; г) 11.0111; д) 1101.0101. 14. Преобразуйте следующие двоичные числа а десятичные: а) 101.01011; б) 11100.1010; в) 1011.01110; г) 1101.1011; д) 10101.01111.
15. Преобразуйте следующие десятичные числа в шестнадцатеричные: а) 36.625; б) 161.78125; в) 592.15625; г) 1876.54625; д) 5246.34765625 16. Преобразуйте следующие десятичные числа в шестнадцатеричные: а) 273.9375; б) 349.796875; РАЗДЕЛ 5.7. Чосла со знаком 231 г) 1997.35 в) 576.640625; д) 36304.140625. 17. Преобразуйте следующие шестнадцатеричные числа в десятичные: а) 5С.ЗА; б) Г12.АЕ; в) 4АЕ.С48; г) 32АВ.С11; д) 13СЕ.Р24. 18. Преобразуйте следуюшие шестнадцатеричные числа в десятичные: а) 14.Р2; б) 11Г.ЕЗЗ; в) 47Е.З44; г) 237Г.755; д) 233В.УРА. 19.
Преобразуйте следующие двоичные числа в шестнадцатеричные: а) 101.1010; б) 110111.010101; в) 110110110.011011111; г) 1110101110.0011011011; д) 1111010100.001000101, 20. Преобразуйте следующие двоичные числа в шестнадцатеричные: а) 110.11001; б) 100101.011110; в) 101110101.010101011; г) 11010101010.11001101101; д) 10001010111.1101001010101. 21. Преобразуйте следуюшие шестнадцатеричные числа в двоичные; а) 2С.4В; б) 1Е2.АЗС; в) АЕ8.48С; г) А12Е.11С; д) С14А.2Р4. 22.
Преобразуйте следующие шестнадцатеричные числа в двоичные: а) СЕ.2Р5; б) Г1А.ЕЗР; в) В7Е.ЗС4; г) ГАЗ7.2Е5; д) С46В.АС4. 5.7. ЧИСЛА СО ЗНАКОМ В предыдущем разделе мы рассматривали представления в двоичной и шестнадцатеричной форме только для положительных рациональных чисел. В данном разделе мы покажем, как строить двоичные и шестнадцатеричные представления положительных и отрицательных целых чисел при помоши метода двоичного дополнения. Этот метод требует, чтобы целые числа были записаны с использованием фиксированного количества битов (двоичных разрядов).
Поэтому число в двоичной системе будет всегда записываться с использованием одного и того же количества разрядов. Если используется 8 двоичных разрядов, то двоичное представление числа 3 будет иметь вид 00000011. Для представления целого положительного числа с помощью 8 бит перед ним при необходимости дописывается нужное количество нулей. До конца этого раздела будем использевать 8 бит для чисел в двоичной форме и 16 бит для чисел в шестнадцатеричной форме. Сначала рассмотрим случай использования 8 бит. 232 ГЛИНА 5.
Алгоритмы и рекурсия Целое положительное число должно начинаться с О, а целое отрицательное число будет начинаться с 1. Поэтому 10110011 будет представлять целое отрицательное число, а 01110101 будет представлять целое положительное число. Поскольку при таком способе записи наибольшее возможное целое положительное число есть 01111111, то всего имеется 127 целых положительных чисел. Пусть дано положительное целое число, представленное с использованием п бит.
Тогда соответствующее ему отрицательное число находят путем вычитания этого числа из 2", выраженного в двоичной форме. Это осуществляется вычитанием числа из 2" — 1 (что называется нахождением 1-го дополнения) и последующим прибавлением 1. Поэтому в случае, когда используется 8 бит, положительное целое число вычитается из 2" — 1 = 11111111, а затем прибавляется 1. Например, чтобы найти отрицание числа 00101011, мы вычитаем его из 11111111: 11111111 — 00101011, 11010100 а затем к полученному числу 11010100 прибавляем 1. Таким образом, отрицанием числа 00101011 будет число 11010101.
Заметим, что вычитание 00101011 из 11111111 просто меняет нули на единицы, а единицы — на нули. Всегда ли это справедливо, когда 8-битовая двоичная строка вычитается из 11111111? ПРИМЕР $.46. Найти представление числа — 56 в 8-битовом двоичном дополнении. Сначала число 56 представляется как 00111000. Вычитая его из 11111111, получаем 11000111. Прибавление 1 дает 11001000, так что -56 имеет представление 11001000. П Если задано целое отрицательное число, можно найти целое положительное число, для которого данное число является отрицанием, просто выполняя те же самые операции с отрицательным числом.
Например, чтобы найти то положительное число, для которого 10110111 представляет отрицание, просто вычтем его из 11111111, получая 01001000. После прибавления 1 получаем 01001001, что является двоичным представлением числа 72. Отсюда 10110111 изображает — 72. Отрицательные двоичные дополнения изменяются от 11111111 до 10000000, так что их имеется 128. Таким образом, если использовать 8 двоичных разрядов, можно представить все числа от †1 до 127. В общем случае, если имеется и двоичных разрядов, можно представить все целые числа от — 2" ' до 2" ' — 1. Если для представления целых чисел используется 16 (или больше) бит, то удобнее всего пользоваться шестнадцатеричной системой счисления.
Поскольку каждый шестнадцатеричный разряд состоит из четырех двоичных, то для 16 бит необходимо 4 шестнадцатеричных разряда. Таким образом, 21А5, л'9АВ и 004Г являются примерами шестнадцатиразрядных целых чисел со знаком, представленных в шестнадцатеричной системе счисления. Поскольку двоичное представление целого положительного числа должно начинаться с О, то наибольшее число, которое может стоять в первом разряде его шестнадцатеричного представления, это 7 РАЗДЕЛ 5.7. Числа со знаком 233 (= 0111з). Поэтому 691Г, 7ГГГ и 0031 изображают целые положительные числа, а 8124, А105 и ЕГГ1 изображают целые отрицательные числа. Как и ранее, если целое положительное число представлено с использованием и битов, отрицание числа находят путем его вычитания из 2".