Вопрос 11 Арифметические основы ЭВМ.pptx
- Количество слайдов: 20
«Арифметические основы ЭВМ»
Система счисления - совокупность приемов и правил, позволяющих установить взаимно-однозначное соответствие между любым числом и его представлением в виде конечного числа символов (цифр). а) Позиционные системы счисления значения цифры зависит от ее места в числе. Пример : арабская 14537 ( 7 единиц, 3 десятка, 5 сотен, 4 тысячи, 1 десяток тысяч ). б) Непозиционная система счисления значение цифры не зависит от места в числе. Пример: римская XXIV ( 10 + 4 = 24 ). в) Однородные системы счисления системы использующие цифры одного множества. Пример: десятичные ( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ). г) Неоднородные ( смешанные ) системы счисления. Пример: система подсчета времени ( 60 секунд = 1 минута, 60 минут = 1 час, 24 часа = 1 сутки ).
Любое число можно представить в следующем виде : n-1 x= ai i= -m i q х значение числа; сумма; q основание системы; ai значение цифры в разряде (коэффициент системы, ai < q); i номер позиции цифры в числе ( номер разряда ); m число цифр в дробной части числа; n число цифр в целой части числа. Запись этого числа в виде многочлена: Х=anqn+an-1 qn-1+…+a 1 q 1+a 0 q 0+a-1 q-1+…+a-mq-m. Пример: десятичная система счисления Используя вышеуказанную формулу, запишем число 73, 375. Для нашего случая система счисления десятичная, основание 10 (q=10), в целой части числа две цифры (n=2), в дробной части числа три цифры (m=3). Коэффициентами системы могут быть цифры меньшие десяти 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 75, 375 = 7 *101+5 *100+3 *10 -1+7 *10 -2+5* 10 -3
Пример: двоичная система счисления Система счисления двоичная (q=2). Коэффициентами системы могут быть цифры меньшие чем два 0, 1. Распишем общий вид чисел: a 4*24+a 3*23+a 2*22+a 1*21+a 0 *20 = a 4*16+a 3*8+a 2*4+a 1*2+a 0 *1 и попробуем путем подбора коэффициентов представить в двоичном виде числа от 0 до 16. Десятичная система счисления 0=0 *16+0*8+0*4+0*2+0*1 (а 4=0, а 3=0, а 2=0, а 1=0, а 0=0) 1=0 *16+0*8+0*4+0*2+1*1 (а 4=0, а 3=0, а 2=0, а 1=0, а 0=1) 2=0 *16+0*8+0*4+1*2+0*1 (а 4=0, а 3=0, а 2=0, а 1=1, а 0=0) 3=0 *16+0*8+0*4+1*2+1*1 (а 4=0, а 3=0, а 2=0, а 1=1, а 0=1) 4=0 *16+0*8+1*4+0*2+0*1 (а 4=0, а 3=0, а 2=1, а 1=0, а 0=0) 5=0 *16+0*8+1*4+0*2+1*1 (а 4=0, а 3=0, а 2=1, а 1=0, а 0=1) 6=0 *16+0*8+1*4+1*2+0*1 (а 4=0, а 3=0, а 2=1, а 1=1, а 0=0) 7=0 *16+0*8+1*4+1*2+1*1 (а 4=0, а 3=0, а 2=1, а 1=1, а 0=1) 8=0 *16+1*8+0*4+0*2+0*1 (а 4=0, а 3=1, а 2=0, а 1=0, а 0=0) 9=0 *16+1*8+0*4+0*2+1*1 (а 4=0, а 3=1, а 2=0, а 1=0, а 0=1) 10=0 *16+1*8+0*4+1*2+0*1 (а 4=0, а 3=1, а 2=0, а 1=1, а 0=0) 11=0 *16+1*8+0*4+1*2+1*1 (а 4=0, а 3=1, а 2=0, а 1=1, а 0=1) 12=0 *16+1*8+1*4+0*2+0*1 (а 4=0, а 3=1, а 2=1, а 1=0, а 0=0) 13=0 *16+1*8+1*4+0*2+1*1 (а 4=0, а 3=1, а 2=1, а 1=0, а 0=1) 14=0 *16+1*8+1*4+1*2+0*1 (а 4=0, а 3=1, а 2=1, а 1=1, а 0=0) 15=0 *16+1*8+1*4+1*2+1*1 (а 4=0, а 3=1, а 2=1, а 1=1, а 0=1) 16=1 *16+0*8+0*4+0*2+0*1(а 4=1, а 3=0, а 2=0, а 1=0, а 0=0) Двоичная система счисления 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000
Пример: восьмеричная система счисления Система счисления восьмеричная (q=8). Коэффициентами системы могут быть цифры меньшие, чем восемь 0, 1, 2, 3, 4, 5, 6, 7. Распишем общий вид чисел и попробуем путем подбора коэффициентов представить в двоичном виде числа от 0 до 16. a 1*81 + a 0 *80 = a 1*8 + a 0*1 0 =0*8+0*1 (а 1=0, а 0=0) 1 =0*8+1*1 (а 1=0, а 0=1) 2 =0*8+2*1 (а 1=0, а 0=2) 3 =0*8+3*1 (а 1=0, а 0=3) 4 =0*8+4*1 (а 1=0, а 0=4) 5 =0*8+5*1 (а 1=0, а 0=5) 6 =0*8+6*1 (а 1=0, а 0=6) 7 =0*8+7*1 (а 1=0, а 0=7) 8 =1*8+0*1 (а 1=1, а 0=0) 9 =1*8+1*1 (а 1=1, а 0=1) 10=1*8+2*1 (а 1=1, а 0=2) 11=1*8+3*1 (а 1=1, а 0=3) 12=1*8+4*1 (а 1=1, а 0=4) 13=1*8+5*1 (а 1=1, а 0=5) 14=1*8+6*1 (а 1=1, а 0=6) 15=1*8+7*1 (а 1=1, а 0=7) 16=2*8+0*1 (а 1=2, а 0=0) Десятичная система счисления Двоичная система счисления Восьмеричная система счисления 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20
Пример: шестнадцатеричная система счисления Система счисления шестнадцатеричная (q=16). Коэффициентами системы могут быть цифры меньшие, чем шестнадцать. Однако в нет цифр обозначающих числа большие девяти (десять обозначается цифрами 1 и 0). Для записи таких чисел вместо цифр будем использовать буквы латинского алфавита 10 А, 11 В и т. д. Десятичная система счисления Двоичная система счисления Восьмеричная система счисления Шестнадцатеричная система счисления 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 10000 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 20 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 Способ подбора можно использовать при переводе небольших целых чисел с малой системой основания, применение его к переводу любого числа затруднительно. Данная таблица будет использована в дальнейшем.
Для перевода числа из десятичной системы счисления в систему счисления с другим основанием поступают следующим образом: 1. Для перевода целой части числа его делят нацело на основание системы, фиксируя остаток. Если неполное частное не равно нулю продолжают делить его нацело. Если равно нулю остатки записываются в обратном порядке. 2. Для перевода дробной части числа ее умножают на основание системы счисления, фиксируя при этом целые части полученных произведений. Целые части в дальнейшем умножении не участвуют. Умножение производиться до получения 0 в дробной части произведения или до заданной точности вычисления. 3. Ответ записывают в виде сложения переведенной целой и переведенной дробной части числа. Пример: Перевести число 75, 375 в двоичную систему счисления. 75, 375 = Х 2
1) переведем в двоичную систему целую часть 75 75 : 2 = 37 ( 1 ) 37 : 2 = 18 ( 1 ) 18 : 2 = 9 ( 0 ) 9 : 2 = 4 ( 1 ) 4 : 2 = 2 ( 0 ) 2 : 2 = 1 ( 0 ) 1 : 2 = 0 ( 1 ) Закончив деление, запишем остатки в обратном порядке, и получим искомый результат: 75=10010112 2) переведем в двоичную систему дробную часть 0, 375 2 0, 750 2 1, 500 2 1, 000 Выделенные числа запишем в естественном порядке и получим дробное число в двоичной системе счисления: 0, 375 = 0, 0112 3) получив целую и дробную части числа в двоичном виде можем сделать вывод: 75, 375=75+0, 375 = 10010112+0, 0112=1001011, 0112, значит 75, 375=1001011, 0112
Пример: перевод чисел из десятичной системы счисления в шестнадцатеричную систему счисления. Представить десятичное число 157, 23 в шестнадцатеричной системе счисления. Целая часть числа равна 157, дробная 0, 23. а) переведем в двоичную систему целую часть 157 : 16 = 9 (13 или D) 9 : 16 = 0 ( 9 ) Закончив деление, запишем остатки в обратном порядке, и получим искомый результат: 157=9 D 16 2) переведем в двоичную систему дробную часть 0, 23. Результат умножения 0, 23 на 16 равен 3, 68. Целая часть этого числа равна 3, значит первый коэффициент дробной части равен 3. Дробная часть равна 0, 68. Снова умножим ее на основание системы: 0, 68*16=10, 88. Целая часть равна 10 или в шестнадцатеричной системе А. Дробная часть равна 0, 88, она опять умножается на 16 и так далее. Выпишем весь процесс: 0, 23 * 16 = 3, 68 ( 3 ) 0, 68 * 16 = 10, 88 ( А ) 0, 88 * 16 = 14, 08 ( Е ) 0, 08 * 16 = 1, 28 ( 1 ) ………………. . 0, 28 * 16 = 4, 48 ( 4 ) ………………. . 0, 48 * 16 = 7, 68 ( 7 ) ………………. . .
Замечаем, что последовательность чисел 0, 68; 0, 88; 0, 08; 0, 28; 0, 48 повторилась уже 2 раза и начинается в третий раз. Получается бесконечная шестнадцатеричная дробь в которой период (бесконечно повторяемая последовательность цифр) заключен в скобки: 157, 23=9 D, 3(АЕ 147)16 При переводе чисел из системы счисления с основанием q в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем следует вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Пример: Перевести число 1001011, 0112 в десятичную систему счисления 1001011, 0112 = Х 10 6 5 4 3 2 1 0 -1 - 2 -3 1001011, 0112 = 1*26+0*25+0*24+1*23+0*22+1*21+1*20++0*2 1+1*2 2+1*2 3 =64+8+2+1+0, 25+0, 125=75, 37510 Ответ: 1001011, 0112 = 75, 37510
Двоичная система проста, так как использует две цифры, но громоздка. В десятичной хранить числа в памяти возможно, но сложен перевод из десятичной в двоичную и обратно и занимает много времени. Необходима система счисления компактнее двоичной, но с более простым переводом. 23 = 8 0, 1, 2, 3, 4, 5, 6, 7. Для перевода из двоичной системы счисления в восьмеричную необходимо разбить данное двоичное число вправо и влево от запятой на триады ( три цифры ) и представить каждую триаду соответствующим восьмеричным кодом. При невозможности разбиения на триады допускается добавление нулей слева в целой записи числа и справа в дробной части числа. Для обратного перевода каждую цифру восьмеричного числа представляют соответствующей триадой двоичного кода. Двоичная система счисления Восьмеричная система счисления 0000 0001 0010 0011 0 1 2 3 Пример: 1001011, 0112 =х8 001001011, 011 1 1 3, 3 Ответ: 1001011, 0112 =113, 38
Восьмеричная система компактнее двоичной и с более простым переводом чисел, однако, современные требования к ЭВМ заставили создавать шестнадцатеричную систему счисления. 24 = 16 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Правило перевода из двоичной системы счисления в шестнадцатеричную: разбить двоичное число вправо и влево от запятой на тетрады ( по 4 цифры ) и представить каждую тетраду соответствующим шестнадцатеричным кодом. При невозможности разбиения на тетрады допускается добавление нулей слева в целой записи числа и справа в дробной части числа. Для обратного перевода каждую цифру шестнадцатеричного числа представляют тетрадой двоичного кода. Двоичная система счисления Шестнадцатиричная система счисления 0100 …. . 0110 …. . 1011 4 …. . 6 …. . В Пример: 1001011, 0112 =х16 01001011, 0110 4 В , 6 Ответ: 1001011, 0112 =4 В, 616
Пример: А 4 F, C 516 = х2 Пример: 347, 258 = х2 Каждую цифру восьмеричного числа заменим соответствующей триадой Двоичная система счисления Восьмеричная система счисления ……. 0010 2 0011 3 0100 4 0101 5 ……. 0111 7 347, 25 011 100 111 , 010 101 Каждую цифру шестнадцатеричного числа заменим соответствующей тетрадой. Двоичная система счисления Шестнадцатеричная система счисления ……. 0100 0101 ……. 1010 ……. 1100 ……. 1111 ……. 4 5 ……. A ……. C ……. F A 4 F, C 5 1010 0100 1111 , 1100 0101 347, 25 8 = 11100111, 0101012 А 4 F, C 516 = 101001001111 , 110001012
Для выполнения вычислений с многозначными числами необходимо знать правила сложения и правила умножения однозначных чисел. Вот эти правила: 0 + 0 = 0 1 + 0 = 1 1 + 1 = 10 0 x 0 = 0 1 x 1 = 1 Принцип перестановочности сложения и умножения работает во всех системах счисления. Далее следует сообщить, что приемы выполнения вычислений с многозначными числами в двоичной системе аналогичны десятичной.
Пример 1. Как представлено число 831 о в двоичной системе счисления? 1) 10010112 2) 11001012 3) 10100112 4) 1010012. Решение. Для получения ответа переведем данное число в двоичную систему счисления. 8310 = 64 + 16 + 2 + 1 = 10100112. Ответ: № 3. Пример 2. Вычислите сумму двоичных чисел x и у, если: х = 10101012, у = 10100112. 1) 101000102 2)101010002 3) 101001002 4) 101110002, Решение. Сложение можно выполнить «столбиком» , используя таблицу сложения в двоичной системе счисления. 1010101 1010011 10101000 В итоге получаем 101010002. Ответ № 2.
Пример 3. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 2310 оканчивается на 2. Решение. Имеем: 2310=а 2 x; 23 = ах + 2; ах = 21. Искомый ответ находится среди целых корней последнего уравне ния 3, 7, 21. Проверка показывает, что все — эти основания являются подходящими. Ответ: 3, 7, 21. Пример 4. Найти основание р системы счисления и цифру n если верно равенство: 33 m 5 n + 2 n 443 = 55424. Пример выполнен в системе счисления с основанием р, m — максимальная цифра в этой системе. Решение. Запишем столбиком данное сложение: 33 m 5 n 2 n 443 55424 Очевидно, основание системы р > 5 , так как присутствует цифра 5. Сложение в младшем разряде дает: n + 3 = 4. Отсюда n = 1. Во втором разряде слева дает: 5 + 4 = 12 p = (1·p + 2)10 = 910. Отсюда следует, что р = 9 — 2 = 7. Наибольшая цифра в семеричной системе — 6. Значит m = 6. Если теперь подставить в данные выражение вместо букв соответствующие им цифры: n = 1, m = 6 и выполнить сложение в семеричной системе счисления, то получится сумма, данная в условии задачи.
Пример 5. В какой системе счисления выполнено следующее сложение? 756 307 2456 … 24 3767 Решение этой задачи рекомендуется искать методом гипотез. Очевидно, что основание системы р > 7. Можно предположить, что оно меньше 10, поскольку нет буквенных цифр, а правилам десятичной арифметики данный пример не удовлетворяет. Примем гипотезу о том, что р равно 8 или 9. Выполним сложение младших разрядов в десятичной системе: 6 + 7 + 6 + 4 =2310 =Х 7 Р. В системе с основанием р это двузначное число с младшей цифрой 7 и неизвестной первой цифрой слева. Переведем число 2310 в восьмеричную и девятеричную системы. Получим: 2310 = 278 = 259. Очевидно, подходит вариант р = 8. Проверяя выполнение сложения других разрядов в восьмеричной системе, убеждаемся, что предположение сделано правильное. Ответ: р = 8.
Требования к знаниям и умениям учащихся Учащиеся должны знать: 1. что такое «система счисления» ; 2. в чем различие между позиционными и непозиционными системами счисления; Учащиеся должны уметь: 1. переводить целые числа из десятичной системы счисления в другие системы и обратно; 2. выполнять простейшие арифметические операции с двоичными числами; 3. *осуществлять перевод целых и дробных десятичных чисел в другие позиционные системы счисления и обратный перевод; 4. *переходить от записи двоичной информации к восьмеричной и шестнадцатеричной форме и осуществлять обратный переход.
Вопросы для самоконтроля : 1. Почему нельзя говорить о едином языке двоичных кодов для всех типов данных, представимых в памяти ЭВМ? 2. Опишите методическую последовательность вопросов, ответами на которые раскрывается тема «Системы счисления» .
Решите задачи: A 1. Двоичный код числа 33 — это: 1) 100000 2) 100001 3) 101011 4) 111111 А 2. Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11 соответственно). Если таким способом закоди ровать последовательность символов ГБВА и записать результат шестнадцатеричным кодом, то получится: 1) 138 2) DBCA 3) D 8 4) 3120 В 1. Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 3210 оканчивается на 2. Вычислите сумму двоичных чисел х и у, если х = 10101112, у=11100112. В 3. Вычислите сумму двоичных чисел 110011 и 10001 и представьте ее в шестнадцатеричной системе счисления.


