Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Глава 4. Арифметические основы компьютеровСодержание книги
Поиск на нашем сайте Глава 4. Арифметические основы компьютеров Что такое система счисления?
Существуют позиционные и непозиционные системы счисления. В непозиционных системах счисления вес цифры (т. е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХ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,
Как порождаются целые числа в позиционных системах счисления? В каждой системе счисления цифры упорядочены в соответствии с их значениями: 1 больше 0, 2 больше 1 и т.д.
Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры — 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 — замену её на 0. Целые числа в любой системе счисления порождаются с помощью Правила счета:
Применяя это правило, запишем первые десять целых чисел
Какие системы счисления используют специалисты для общения с компьютером? Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:
Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел:
Из всех систем счисления особенно проста и поэтому интересна для технической реализации в компьютерах двоичная система счисления. Как производятся арифметические операции в позиционных системах счисления? Рассмотрим основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны — это сложение, вычитание, умножение столбиком и деление углом. Эти правила применимы и ко всем другим позиционным системам счисления. Только таблицами сложения и умножения надо пользоваться особыми для каждой системы. С л о ж е н и е Таблицы сложения легко составить, используя Правило Счета.
В ы ч и т а н и е Пример 4. Вычтем единицу из чисел 102, 108 и 1016
У м н о ж е н и е Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям.
Д е л е н и е Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей.
Восьмеричная: 133518:1638
Восьмеричная: 438: 168
Целые числа без знака Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 000000002 до 111111112. В двубайтовом формате - от 00000000 000000002 до 11111111 111111112. Целые числа со знаком Обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Сложение и вычитание В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. Это позволяет существенно упростить конструкцию АЛУ. Сложение обратных кодов. Здесь при сложении чисел А и В имеют место четыре основных и два особых случая: 1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например: 2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например: 3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например:
4. А и В отрицательные. Например: Полученный первоначально неправильный результат (обратный код числа -1110 вместо обратного кода числа -1010) компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются: 1 0001010 = -1010. При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения. 5. А и В положительные, сумма А+В больше, либо равна 2n-1, где n — количество разрядов формата чисел (для однобайтового формата n=8, 2n-1 = 27 = 128). Например: Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы (16210 = 101000102), поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки. 6. А и В отрицательные, сумма абсолютных величин А и В больше, либо равна 2n-1. Например:
Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки. Сложение дополнительных кодов. Здесь также имеют место рассмотренные выше шесть случаев: 1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода. 2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например: 3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например: 4. А и В отрицательные. Например: Случаи переполнения для дополнительных кодов рассматриваются по аналогии со случаями 5 и 6 для обратных кодов. Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:
Умножение и деление Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат. Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения. Для иллюстрации умножим 1100112 на 1011012.
Деление для компьютера является трудной операцией. Обычно оно реализуется путем многократного прибавления к делимому дополнительного кода делителя.
Сложение и вычитание При сложении и вычитании сначала производится подготовительная операция, называемая выравниванием порядков.
В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего мантиссы складываются или вычитаются. В случае необходимости полученный результат нормализуется путем сдвига мантиссы результата влево. После каждого сдвига влево порядок результата уменьшается на единицу. Пример 1. Сложить двоичные нормализованные числа 0.10111 . 2-1 и 0.11011 . 210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо:
Пример 2. Выполнить вычитание двоичных нормализованных чисел 0.10101 . 210 и 0.11101 . 21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо:
Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы: 0.1101 . 20. Умножение
Пример 3. Выполнить умножение двоичных нормализованных чисел: (0.11101 . 2101) . (0.1001 . 211) = (0.11101 . 0.1001) . 2(101+11) = 0.100000101 . 21000. Деление
Пример 4. Выполнить деление двоичных нормализованных чисел: 0.1111 . 2100: 0.101 . 211 = (0.1111: 0.101) . 2(100-11) = 1.1 . 21 = 0.11 . 210. Использование представления чисел с плавающей точкой существенно усложняет схему арифметико-логического устройства. Упражнения 4.1. Используя Правило Счета, запишите первые 20 целых чисел в десятичной, двоичной, троичной, пятеричной и восьмеричной системах счисления.
4.3. Какие целые числа предшествуют числам:
4.4. Какой цифрой заканчивается четное двоичное число? Какой цифрой заканчивается нечетное двоичное число? Какими цифрами может заканчиваться четное троичное число?
4.6. В какой системе счисления 21 + 24 = 100? 4.7. В какой системе счисления справедливо следующее:
4.8. Десятичное число 59 эквивалентно числу 214 в некоторой другой системе счисления. Найдите основание этой системы. 4.9. Переведите числа в десятичную систему, а затем проверьте результаты, выполнив обратные переводы:
4.10. Переведите числа из десятичной системы в двоичную, восьмеричную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы: а) 12510; б) 22910; в) 8810; г) 37,2510; д) 206,12510. 4.11. Переведите числа из двоичной системы в восьмеричную и шестнадцатеричную, а затем проверьте результаты, выполнив обратные переводы:
4.12. Переведите в двоичную и восьмеричную системы шестнадцатеричные числа: а) 2СE16; б) 9F4016; в) ABCDE16; г) 1010,10116; д) 1ABC,9D16.
4.13. Выпишите целые числа:
4.14. Для десятичных чисел 47 и 79 выполните цепочку переводов из одной системы счисления в другую:
4.15. Составьте таблицы сложения однозначных чисел в троичной и пятеричной системах счисления.
4.16. Составьте таблицы умножения однозначных чисел в троичной и пятеричной системах счисления.
4.17. Сложите числа, а затем проверьте результаты, выполнив соответствующие десятичные сложения:
4.18. В каких системах счисления выполнены следующие сложения? Найдите основания каждой системы:
4.19. Найдите те подстановки десятичных цифр вместо букв, которые делают правильными выписанные результаты (разные цифры замещаются разными буквами):
4.20. Вычтите:
4.21. Перемножьте числа, а затем проверьте результаты, выполнив соответствующие десятичные умножения:
4.22. Разделите 100101102 на 10102 и проверьте результат, умножая делитель на частное.
4.23. Разделите 100110101002 на 11002 и затем выполните соответствующее десятичное и восьмеричное деление.
4.24. Вычислите значения выражений:
4.25. Расположите следующие числа в порядке возрастания:
4.26. Запишите уменьшающийся ряд чисел +3, +2,..., -3 в однобайтовом формате:
4.27. Запишите числа в прямом коде (формат 1 байт): а) 31; б) -63; в) 65; г) -128.
4.28. Запишите числа в обратном и дополнительном кодах (формат 1 байт): а) -9; б) -15; в) -127; г) -128.
4.29. Найдите десятичные представления чисел, записанных в дополнительном коде: а) 1 1111000; б) 1 0011011; в) 1 1101001; г) 1 0000000.
4.30. Найдите десятичные представления чисел, записанных в обратном коде: а) 1 1101000; б) 1 0011111; в) 1 0101011; г) 1 0000000.
4.31. Выполните вычитания чисел путем сложения их обратных (дополнительных) кодов в формате 1 байт. Укажите, в каких случаях имеет место переполнение разрядной сетки:
Ответы — Раздел 4. Арифметические основы компьютеров 4.1. в) троичная: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, 102, 110, 111, 112, 120, 121, 122, 200, 201; г) пятеричная: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34. 4.2. а) 102; б) 1102; в) 10002; г) 100002; д) 1011002; е) 28; ж) 108; з) 408; и) 2008; к) 100008; л) 1016; м) 2016; н) 10016; о) 9AFA16; п) CDF016. 4.3. а) 12; б) 10012; в) 1112; г) 11112; д) 100112; е) 78; ж) 178; з) 778; и) 1078; к) 7778; л) F16; м) 1F16; н) FF16; о) A0F16; п) FFF16. 4.4. Четное двоичное число оканчивается цифрой 0, нечетное двоичное — цифрой 1, четное троичное — цифрами 0, 1 или 2. 4.5. а) 7; б) 511; в) 4091. 4.7. а) ни в какой; б) в шестеричной. 4.8. Основание 5. 4.9. а) 91; б) 183; в) 225; г) 35/64; д) 52,75; е) 335; ж) 520; з) 668; и) 7/16; к) 8333/64; л) 31; м) 2748; н) 4112; о) 41/64; п) 47825/32. 4.10. а) 11111012; 1758; 7D16; б) 111001012; 3458; E516; в) 10110002; 1308; 5816; г) 100101,012; 45,28; 25,416; д) 11001110,0012; 316,18; CE,216. 4.11. а) 11767,348; 13F7,716; б) 1653,5648; 3AB,BA16; в) 271,5478; B9,B3816; г) 13634,68; 179C,C16; д) 27,76748; 17,FBC16; е) 1425,628; 315,C816. 4.12. а) 10110011102; 13168; б) 10011111010000002; 1175008; в) 101010111100110111102; 25363368; г) 1000000010000,0001000000012; 10020,04018; д) 1101010111100,100111012; 15274,4728. 4.13. а) 1011012, 1011102, 1011112, 1100002; б) 2023, 2103, 2113, 2123, 2203, 2213, 2223, 10003; в) 148, 158, 168, 178, 208; г) 2816, 2916, 2A16, 2B16, 2C16, 2D16, 2E16, 2F16, 3016; 4.14. а) 4710 - 1011112 - 578 - 4710 - 578 - 1011112 - 2F16 - 4710 - 2F16 - 1011112 - 4710; б) 7910 - 10011112 - 1178 - 7910 - 1178 - 10011112 - 4F16 - 7910 - 4F16 - 10011112 - 7910. 4.15.
4.16.
4.17. а) 110101002; б) 10001,02; в) 10101,12; г) 11001,12; д) 1348; е) 2248; ж) 24,38; з) 348; и) 1916; к) 2516; л) 19,A16; м) 2616. 4.18. а) в 16-й; б) в 10-й; в) в 3-й; г) в 8-й; д) в 16-й. 4.19. в) А=9, B=4, C=5, D=3, F=1, L=0, M=7, N=8; г) A=3, B=6, C=2, D=5, E=9, F=7, G=1, H=0, I=4, J=8; д) A=9, B=3, C=4, D=2, E=1, F=8, G=0, H=7, I=6. 4.20. а) 11012; б) 1,112; в) 1010,12; г) -10,012; д) 38; е) 338; ж) 22,18; з) 11,258; и) 1716; к) 1A9216; л) -1,7E16; м) 4BBC16. 4.21. а) 111000012; б) 11000110,012; в) 1000000,1012; г) 1001011,1012; д) 1748; е) 1428; ж) 15.268; з) 55.22228. 4.22. 11112. 4.23. 11001112; 10310; 1478. 4.24. а) 149310; б) 54210; в) 142010; г) 1110. 4.25. а) 1100102, 3816, 748, 7010; б) 1428, 10010, 11010012, 6E16; в) 1011111112, 50010, 7778, 2FF16; г) 11000002, 6016, 1418, 10010. 4.26. а) 00000011, 00000010, 00000001, 00000000, 10000001, 10000010, 10000011; б) 00000011, 00000010, 00000001, 00000000, 11111110, 11111101, 11111100; в) 00000011, 00000010, 00000001, 00000000, 11111111, 11111110, 11111101. 4.27. а) 00001111; б) 10111111; в) 01000001; г) невозможно. 4.28. Обратный: а) 11110110, б) 11110000, в) 10000000, г) невозможнo. Дополнительный: а) 11110111; б) 11110001; в) 10000001; г) 10000000. 4.29. а) -8; б) -101; в) -23; г) -128. 4.30. а) -23; б) -96; в) -84; г) -127. 4.31. Обратный: а) 00000111; б) 11111000; в) 11110011; г) 11100001; д) 00011001; е) 01111110; ж) переполнение; з) 10000000; и) невозможно. Дополнительный: а) 00000111; б) 11111001; в) 11110100; г) 11100010; д) 00011001; е) 01111110; ж) переполнение; з) 10000001; и) 10000000.
Глава 4. Арифметические основы компьютеров
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-12-30; просмотров: 503; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.01 с.) |