Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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, где ai – цифры системы счисления; n и m – число целых и дробных разрядов, соответственно. Например:
Как порождаются целые числа в позиционных системах счисления? В каждой системе счисления цифры упорядочены в соответствии с их значениями: 1 больше 0, 2 больше 1 и т.д.
Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры – 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 – замену её на 0. Целые числа в любой системе счисления порождаются с помощью Правила счета [44]:
Применяя это правило, запишем первые десять целых чисел · в двоичной системе: 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. Какие системы счисления используют специалисты для общения с компьютером? Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно: · двоичная (используются цифры 0, 1); · восьмеричная (используются цифры 0, 1,..., 7); · шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1,..., 9, а для следующих чисел — от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F). Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел:
Из всех систем счисления особенно проста и поэтому интересна для технической реализации в компьютерах двоичная система счисления. Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?
Пример: Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную: Ответ: 7510 = 1 001 0112 = 1138 = 4B16. Сложение Таблицы сложения легко составить, используя Правило Счета.
Сложение в шестнадцатиричной системе
При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево. Пример 1. Сложим числа 15 и 6 в различных системах счисления.
Пример 2. Сложим числа 15, 7 и 3.
Пример 3. Сложим числа 141,5 и 59,75. Ответ: 141,5 + 59,75 = 201,2510 = 11001001,012 = 311,28 = C9,416 Проверка. Преобразуем полученные суммы к десятичному виду: Вычитание Пример 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. Проверка. Преобразуем полученные разности к десятичному виду: Умножение Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям. Пример 7. Перемножим числа 5 и 6. Ответ: 5*6 = 3010 = 111102 = 368. Проверка. Преобразуем полученные произведения к десятичному виду: Пример 8. Перемножим числа 115 и 51. Ответ: 115*51 = 586510 = 10110111010012 = 133518. Проверка. Преобразуем полученные произведения к десятичному виду: Деление Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей. Пример 9. Разделим число 30 на число 6.
Ответ: 30: 6 = 510 = 1012 = 58. Пример 10. Разделим число 5865 на число 115. Восьмеричная: 133518:1638 Ответ: 5865: 115 = 5110 = 1100112 = 638. Проверка. Преобразуем полученные частные к десятичному виду: Пример 11. Разделим число 35 на число 14. Восьмеричная: 438: 168 Ответ: 35: 14 = 2,510 = 10,12 = 2,48. Проверка. Преобразуем полученные частные к десятичному виду: Сложение и вычитание
При сложении обратных кодов чисел А и В имеют место четыре основных и два особых случая: 1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю. Например: Получен правильный результат. 2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например: Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются: 1 0000111 = –710. 3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например: Компьютер исправляет полученный первоначально неправильный результат (6 вместо 7) переносом единицы из знакового разряда в младший разряд суммы. 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 отрицательное и по абсолютной величине больше, чем А. Например: Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = –710. 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.2. Какие целые числа следуют за числами:
4.3. Какие целые числа предшествуют числам:
4.4. Какой цифрой заканчивается четное двоичное число? Какой цифрой заканчивается нечетное двоичное число? Какими цифрами может заканчиваться четное троичное число? 4.5. Какое наибольшее десятичное число можно записать тремя цифрами: o а) в двоичной системе; o б) в восьмеричной системе; o в) в шестнадцатеричной системе? [ Ответ ] 4.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. 4.7. В какой системе счисления справедливо следующее: o а) 20 + 25 = 100; o б) 22 + 44 = 110? [ Ответ ] 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. Выпишите целые числа: o а) от 1011012 до 1100002 в двоичной системе; o б) от 2023 до 10003 в троичной системе; o в) от 148 до 208 в восьмеричной системе; o г) от 2816 до 3016 в шестнадцатеричной системе. [ Ответ ] 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. Вычислите значения выражений: o а) 2568 + 10110,12 * (608 + 1210) - 1F16; o б) 1AD16 - 1001011002: 10102 + 2178; o в) 101010 + (10616 - 110111012) 128; o г) 10112 * 11002: 148 + (1000002 - 408). [ Ответ ] 4.25. Расположите следующие числа в порядке возрастания: o а) 748, 1100102, 7010, 3816; o б) 6E16, 1428, 11010012, 10010; o в) 7778, 1011111112, 2FF16, 50010; o г) 10010, 11000002, 6016, 1418. [ Ответ ] 4.26. Запишите уменьшающийся ряд чисел +3, +2,..., -3 в однобайтовом формате: o а) в прямом коде; o б) в обратном коде; o в) в дополнительном коде. [ Ответ ] 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. Арифметические основы компьютеров
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2017-01-19; просмотров: 1214; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.008 с.) |