КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Перевод между СС с основаниями, являющимися степенями двойки
АСС5А6 А16 АВС901 1 012344 А8 777777 +101 7237,7 = 7000 + 200 + 30 + 7 + 0,7 Это значит, что первая семерка означает кол-во тысяч, вторая – кол-во единиц, а последняя – кол-во десятых долей единицы. Таким образом, в зависимости от того, где находится одна и та же цифра в числе – эта цифра имеет разный вес. Во всех ЭВМ применяется позиционная СС. В позиционной СС каждое число представляется последовательностью цифр, причем каждой позиции цифры Xi присвоен определенный вес bi , где b - основание СС: D = Xn * bn + X n-1 * b n-1 + …+ X0 * b0 = xnx n-1…x0 Например, число 1997 в СС с различными основаниями представляется как: © 10СС – 1997=1*103+9*102+9*101+7*100 © 2СС – 1997=1*210+1*29+1*28+1*27+1*26+0*25+0*24+1*23+1*22+0*21+1*20= =111110011012 © 8СС – 1997=3*83+7*82+1*81+5*80=37158 © 16СС – 1997=7*162+12*161+13*160=7CD16
где Хi – любая цифра из алфавита СС с основанием b; m, l – число разрядов соответственно для целой и дробной частей числа. В современных ЭВМ используют позиционные СС с основаниями 2, 8, 16.
Количество используемых в СС цифр называется основанием (b) СС, а место каждой цифры в числе называется позицией. Рассмотрим разные СС и определим для них основание.
Для удобства представления чисел в различных СС можно пользоваться таблицей степеней 2, 8 и 16.
Представление чисел 10CC диапазона [1 – 50] в 2СС – 9СС, 16СС содержится в таблице на стр. 4. Сложение и вычитание положительных чисел в различных СС аналогично действиям в 10-й СС. На рис. ниже показано графическое представление чисел без знака для 2-й, 8-й и 16-й СС.
На рис. показано круговое, или «модульное», представление чисел. Пусть указатель в исходный момент задает какое-либо число А. Переместив по часовой стрелке указатель на N позиций, мы прибавим к А число N. Переместив против часовой стрелки указатель на N позиций, мы отнимем от А число N. В некоторых случаях результат операции сложения выходит за пределы диапазона СС, т.е. указатель по часовой стрелке перейдет границу между последней цифрой диапазона и нулем. Тогда в старший разряд числа организуется перенос, т.е. значение этого старшего разряда увеличивается на единицу. Например, рассмотрим сумму чисел в 2-й СС: ˛˛
складываем 2 младших разряда 1+1; графически определяем, что это – 0; делаем перенос в старший (второй) разряд. Перенос означает сдвиг на 1 вправо по кругу. Сумма во 2-м разряде опять равна 0; делаем перенос в старший разряд. В нем сумма 1+1+1=1, и перенос в старший разряд. В итоге получаем: 111+101=1100. Также организуется сложение в 8-й и 16-й СС: ˛˛˛˛˛ +В8 12345 ˛˛˛ +В16 FСА5 Если результат операции выходит за пределы диапазона системы, т.е указатель переходит против часовой стрелки через 0, то нам приходится делать заем из старшего разряда. В этом случае добавляем к младшему разряду основание СС. Например, найдем разность между 10001 и 101 в 2-й СС: ØØØ - 101
Начинаем вычитание с младшего разряда: 1-1=0. В следующем разряде 0-0=0. В 3-м разряде нужен заем. Этот заем равен основанию счисления 2-й СС: 10. Взять заем из 4-ого от конца разряда нельзя, т.к. там 0. Обращаемся в самый сташий разряд { 1 }, делаем заем сначала в 4-й, а затем в 3-й от конца разряд. Получаем, что 10001-101=1100. Примеры: представить в 2-й СС числа: 5710=32+16+8+1=1*25+1*24+1*23+1*20=1110012 51110=256+128+32+16+8+4+2+1=1*28+1*27+1*26+1*25+1*24+1*23+1*22+1*21*1+20= =1111111112
представить в 8-й СС числа: 5710=56+1=7*81+1*80=718 51110=7*64+7*8+7*1=7*82+7*81+7*80=7778 представить в 16-й СС числа: 5710=3*16+9=3*161+9*160=3916 51110=256+15*16+15*1=162+15*161+15*160=1FF16
производятся в исходной СС, например: 2510 ®?2
Для простоты написания перевода в 2-ю СС используется запись вида: ® (рис. справа) Правило для перевода из 10-й в любую другую СС для дробных чисел: чтобы правильную дробь перевести из СС с основанием 10 в СС с основанием q, нужно последовательно умножать дробную часть (сначала самого числа, а потом получающихся произведений) на новое основание q до тех пор, пока: æ æ либо не будет достигнута нужная точность – заданное число цифр после запятой; В новой СС число запишется в виде последовательности целых частей получаемых произведений, начиная с первого. См. пример слева на схеме. 0.12510=0.0012
Пример: 234.6710 ®?2 © переводим целую часть; (см. схему) © переводим дробную часть: 0.67*2=1.34 у 1.34 отбрасываем целое – 1, и снова умножаем на: 0.34*2=0.68 и 0.68*2=1.36; © снова отбрасываем целое и получаем 0.36*2=0.72 и т.д.; © умножение продолжается до тех пор, пока не получится целое число, т.е. пока после запятой в результате умножения будет 0. Как правило, достаточная точность – 3 или 4 знака после запятой; © собираем результат (целое – снизу вверх, дробное -сверху вниз): Результат приблизительный, т.к. выполнялось условие точности – 4 знака после запятой.
Для того,чтобы из 8-й СС перевести число в 2-ю СС, нужно каждую цифру этого числа представить триадой двоичных символов (лишние нули в старших разрядах отбрасываются): 1234.0778=001 010 011 100.000 111 1112=1 010 011 100.000 111 1112
Обратный перевод производится также: каждая триада двоичных символов заменяется восьмеричной цифрой. Для правильного перевода число должно быть выровнено путем дописывания недостающих нулей перед старшим разрядом для целой части и после последнего разряда для дробной, т.е. число двоичных знаков должно быть кратно трем: 11.10012=011.100 1002=3.448
Для перевода между 2-й СС и 16-й СС используются тетрады двоичных символов. При необходимости выполняется дополнение до длины двоичного символа кратной четырем. 1234.АВ7716=0001 0010 0011 0100.1010 1011 0111 01112= =1 0010 0011 0100.1010 1011 0111 01112
При переходе из 8-й СС в 16-ю СС и обратно используется двоичный вспомогательный код: 1234.АВ7716=0001 0010 0011 0100.1010 1011 0111 01112= =001 001 000 110 100.101 010 110 111 011 1002=11064.5267348 120.348=001 010 000.011 1002=0101 0000.0111 00002=50.716
Дата добавления: 2017-02-01; Просмотров: 59; Нарушение авторских прав?; Мы поможем в написании вашей работы! |