Арифметические действия над числами в системах счисления
ОСНОВЫ ФУНКЦИОНИРОВАНИЯ ЭВМ И ПК
Все ЭВМ и ПК независимо от года выпуска (или поколения), назначения и сферы применения имеют некоторые общие принципы функционирования.
С точки зрения пользователя компьютер оперирует с двумя типами информации:
· данными (все обрабатываемые программой объекты, отличные от ее команд)
· командами, которые выполняют помимо арифметических и логических операций над данными целый ряд управляющих операций и функций управления машиной.
Данные и команды в ЭВМ отображаются в кодированном виде, так как ЭВМ и ПК выполнены на двухпозиционных элементах, которые в каждый момент времени могут находиться в одном из двух устойчивых состояний. Им условно присваивают значения «О» и «1».
Так, например процессор состоит из десятков и сотен миллионов микросхем, которые работают как переключатели: есть сигнал - нет сигнала; современная оперативная память представляет собой набор микроконденсаторов: есть заряд - нет заряда; накопители на магнитных носителях: намагниченный сектор - размагниченный сектор и тому подобные элементы в других компонентах компьютера.
Поэтому физическая природа таких элементов предоставляет возможность использовать только двоичную систему счисления и ее производные, а не привычную нам десятичную систему счисления.
Для того чтобы отобразить (представить) данные или дать команду на выполнение операции необходимо задать ЭВМ алгоритм, преобразующий эти функции на внутримашинный язык, понятный процессору.
Теоретический фундамент работы с двоичной системой счисления был разработан в 19 веке французским математиком Булем (Булева алгебра). И с появлением ЭВМ, а затем и ПК его работы получили практическое воплощение.
Рассмотрим основные положения и правила работы в основных системах счисления, с которыми приходится иметь отношения.
Cистемы счисления
Системой счисления называют совокупность приемов и правил для наименования и записи чисел. Числа в системах счисления изображаются с помощью знаков, называемых цифрами. Как правило, количество таких цифр конечно. Совокупность цифр, из которых могут «строиться» числа в некоторой системе счисления, иногда называют алфавитом системы счисления. Например, алфавитом привычной нам десятичной системы счисления являются цифры О, 1, 2, 3, 4, 5, 6, 7, 8, 9. Обычно системы классифицируют на непозиционные и позиционные (римская и десятичная).
В непозиционной системе счисления значение каждой цифры в любом месте последовательности цифр, означающей запись числа, не изменяется. Примером непозиционной системы счисления является так называемая римская система счисления. Здесь, например, знак I всегда означает единицу, знак V — пять, знак X — десять. Действительно, в числе XXX, записанном в римской системе счисления, цифра X в любом месте означает десять. Запись чисел в непозиционной системе счисления громоздка и неудобна. Например, число 278 запишется в римской системе счисления в виде CCLXXVIII. В особенности неудобны и сложны в таких системах арифметические действия.
В позиционной системе счисления значение цифры зависит от ее места (позиции) в последовательности цифр, изображающих число. Примером позиционной системы счисления является широко известная десятичная система счисления. Например, в числе 555 значение цифры 5 зависит от позиции, в которой она находится. Значение цифры 5 в разряде десятков в десять раз больше ее значения в разряде единиц и в сто раз меньше ее значения в разряде сотен.
Широкое применение нашли также двоичная, восьмеричная и шестнадцатеричная системы счисления. Алфавитом двоичной системы счисления являются цифры 0 и 1, восьмеричной —О, 1, 2, 3, 4, 5, б, 7. Алфавит шестнадцатеричной системы счисления содержит 16 цифр, из которых первые десять изображаются привычными нам знаками О, 1, 2, 3, 4, 5, 6, 7, 8, 9, а остальные шесть — латинскими буквами А, В, С, D, E, F, что соответствует знакам 10, 11, 12, 13, 14, 15.
A | |||
B | |||
C | |||
D | |||
E | |||
F | |||
0+0=0; 0+1=1; 1+0=1; 1+1=10.
0-0=0; 1-0=1;1-1=0; 10-1=1.
0*0=0; 0*1=0; 1*1=1
Для выполнения задач необходимо:
· усвоить понятия систем счисления, основания и базы, различия позиционной и непозиционной систем счисления,
· определить назначение десятичной, двоичной, восьмеричной, шестнадцатеричной систем счисления, а также двоично-десятичного кода и их применяемость в процессах подготовки и решения задач.
· Изучить принципы перевода из одной системы счисления в другую и правила выполнения арифметических действии над .числами в разных системах счисления.
Для перевода чисел из десятичной системы счисления (СС)в другие можно использовать следующие правила.
а) Перевод целых десятичных чисел в другие системы счисления выполняется делением десятичного числа на основание Р* той системы счисления, в которую производится перевод. Запись чисел и деление производятся по правилам десятичной системы счисления. Полученный от деления остаток, даже если он равен О, будет младшим разрядом числа в новой системе счисления.
Если полученное от деления частное делится на основание системы счисления Р, то процесс деления повторяется. Каждый новый остаток от деления очередного частного образует следующий разряд числа. Последнее частное, которое меньше основания и не делится на него, составит старший разряд числа в требуемой системе счисления.
Это правило применимо во всех случаях перевода. Однако так как действия необходимо выполнять в той системе счисления, из которой производится перевод, то и для других систем можно использовать изложенные ниже частные случаи:
2877(10) =?(16)
2877/16=179,8125 — Остаток13=D(16) (179*16=2864)
179/16=11,1875 — Остаток 3=3(16)
Последнее частное 11 меньше
основания 16, поэтому деления не производим: 11=B(16)
2877(10) =B3D(16)
61(10)=?(2)
61/2=30 — Остаток 1 (Это посл разряд двоичного числа)
30/2 =15 — Остаток 0 (Это предпосл разряд двоичного числа и т.д.
15/2 =7 — Остаток 1
7/2 = 3 — Остаток 1
3/2=1 — Остаток 1 61(10)=111101(2)
б). Перевод дробной части десятичного числа в другие системы счисления выполняется умножением десятичной дроби на основание Р. Целая часть полученного произведения будет первым разрядом дробной части в требуемой системе. Затем дробную часть произведения нужно снова умножить на основание Р (целая часть не умножается). Целая часть нового произведения станет вторым разрядом и т. д. до получения требуемого количества разрядов в новой системе счисления или до окончания перевода:
0,316•2=0,632 (0-1-ый разряд дробной части) 0,316(10) =?(2) =0,010100001110(2) в)
0,632•2=1,264(1-второй разряд дробной части)
0,264•2=0,528(0-третий….)
0,528•2=1,056(1 - четвертый…..)
0,056•2=0,112 (0 – пятый ……
0,112•2=0,224 (0 – шестой …..)
0,224•2=0,448 (0 – седьмой …..)
0,448•2=0,896 (0 – восьмой …..)
0,896•2=1,792 (1 – девятый …..)
0,792•2=1,584 (1 – десятый …..)
0,584•2=1,168 (1 – одиннадцатый …..)
0,168•2=0,336 (0 – двенадцатый …..)
в). Перевод смешанных десятичных чиселв другие системы счисления осуществляется последовательным применением рассмотренных правил отдельно для целой и дробной частей числа. После перевода формируется окончательный вид числового набора с учетом места расположения запятой:
46,9(10)=?(8)
46:8=5 (Ост. 6) 6(10)=6(8)(Посл)
5(10)=5(8)
46,9(10)=56,714(8)
0,9*8=7,2(Первый)
0,2*8=1,6
0,6*8=4,8
г) Запись чисел десятичной системы счисления в двоично-десятичном коде. Каждая десятичная цифра представляется четырьмя двоичными разрядами в коде 8421 или 23 22 21 2°:
407,3(10)=0100 0000 0111, 0011(2-10)
д) Перевод в десятичную систему счисления целых, дробных и смешанных чисел из других систем счисления удобно производить по методу развернутой записи, при котором число исходной системы счисления определяется как сумма произведений цифр соответствующих разрядов на степени их оснований.
247,5(10)=2*102+4*101+7*100+5*10-1
247,5(8)=?(10)
247,5(8)=2*82+4*81+7*80+5*8-1=2*64+4*8+7*1+5*1/8=167,625(10)
1010101,01(2)=?(10)=1*2(6)+ 0*2(5)+ 1*2(4)+ 0*2(3)+ 1*2(2)+ 0*2(1)+ 1*2(0)+ 0*2(-1)+ 1*2(-2)=
=1*64+1*16+1*4+1*1+1/4=85,25(10)
e) Перевод чисел из восьмеричной и шестнадцатиричной систем счисления в двоичную выполняется заменой каждой цифры числа названных систем счисления соответственно трех- или четырехразрядными двоичными эквивалентами (триадой или тетрадой):
527,03(8)=101 010 111, 000 011(2) 5А7,D(16)=0101 1010 0111, 1101(2)
ж) Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную производится делением двоичного числа, начиная от запятой, соответственно на триады или тетрады и заменой каждой из них определенной цифрой системы счисления, в которую производится перевод. Неполная старшая триада или тетрада целой части числа, или младшая дробной части дополняются до требуемой разрядности нулями.
10 101 010, 1111(2)=252,74(8) 110 1111 1000, 11(2)=6F8,C(16)
з). Перевод из десятичной системы счисления в двоичную можно производить, предварительно переведя число в восьмеричную или шестнадцатеричную системы, каждую цифру числа которых легко заменить двоичной записью (триадой или тетрадой).
В соответствии с приведенным ранее примером
0,316(10)= 0,010100001110(2)=0,50E(16)
е). Используя восьмеричную или шестнадцатеричную системы счисления, легко также перевести числа из двоичной системы счисления в десятичную:
1011 1101, 11(2)=
=(В*101+Д*100+С*10-1)(16)=(11*161+13*160+12*16-1)(10)=176+13+0,75(10)=189(10)
Арифметические действия над числами во всех системах счисления выполняются по единым правилам. Надо только знать результаты действий над одноразрядными числами в соответствующих системах счисления.
Арифметические действия над числами в системах счисления
Пользуются таблицей умножения, сложение выполняют, используя правила переноса в старший разряд.
Для двоичной системы: 1+0=1; 1+1=10(2);
Для восьмеричной системы: 1+7=10(8).
Для шестнадцатеричной системы: F+1=10(16) (15(10)=F(16))
Сложить два двоичных числа:
+
10111
При вычитании необходимо помнить, что занятая в ближайшем старшем разряде единица дает две единицы младшего разряда. Если в соседних старших разрядах стоят нули, то приходится занимать единицу через несколько разрядов. При этом единица, занятая в ближайшем старшем разряде, дает две единицы мл. разряда и единицы во всех нулевых разрядах, стоящих между мл. и тем ст. разрядом, в кот. Бралась единица.
Произвести вычитание
-
10
Умножение
10111,01
×
10,11
10111 01
10111 01
10111 01
111111,1111
Деление
110101110/1010
- 101011
1010
1010
1010
1010
* Основание-сколько символов всего в данной СС и сколько символов младшего разряда занимается в символе старшего разряда.