КАТЕГОРИИ: Архитектура-(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) |
Перевод десятичных чисел в недесятичные
Перевод недесятичных чисел в десятичные
Осуществляется с использованием формул (1), (3), (4) полиномиального представления.
Примеры:
Двоичные по формуле (2)
I 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 11001001, 010100112 = 1·27+1·26+0·25+0·24+1·23+0·22+0·21+1·20, 0·2-1+1·2-2+0·2-3 + 1·2-4+0·2-5+0·2-6+1·2-7+1·2-8=27+26+23+20, 2-2+2-4+2-7+2-8= 128+64+8+1, 0.25+0.0625+0.0078125+0.00390625=201,32421875
Для упрощения слагаемые с нулями опускаются. Для дробной части лучше использовать формулу (7). Веса разрядов 2 i можно брать из таблицы
Веса разрядов двоичных целых чисел
По формуле (7) получаем
I 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 11001001, 010100112 = 128+64+8+1, (26+24+2+1)/28=201, (64+16+3)/256=201, 83/256=201, 32421875.
Восьмеричные по формуле (7)
Веса разрядов 8-х целых чисел
Пример
I 3 2 1 0 -1 -2 -3 -4 i-f 3 2 1 0 1504, 06728 =512+5·64+4, (6·64+7·8+2)/84=836, (384+56+2)/4096=836, 442/4096=836,1079101562
Шестнадцатеричные по формуле (7)
Веса разрядов 16-х целых чисел
I 3 2 1 0 -1 -2 -3 -4 2A3D,1EC916=2·4096+10·256+3·16+13, (1·163+14·162+12·16+9)/ 65536= 10 13 14 12 10813, (4096+14·256+201)/65536=10813,1202545166015625
Правило перевода целого числа (слева от запятой): Сложить произведения десятичного значения значащих цифр на весовые значения их разрядов.
Правило перевода дробного числа (справа от запятой). Найти десятичное значение целого числа, составленного из цифр дробной части и поделить его на основание СЧ в степени равной числу цифр дробной части (включая нули после запятой).
Оба правила подтверждаются примерами.
Перевод чисел СЧ с основанием равным степени 2 в друг-друга (2-я, 8-я, 16-я)
Перевод двоичного в 8-е (правило триад).
Отмечаем группы по три двоичных цифры (триады) для целой части влево от запятой, а для дробной части – вправо от запятой. Если количество цифр дробной части не кратно 3, то она добавляется не достающими нулями справа. Заменяя триады на их десятичные (они же восьмеричные) эквиваленты (по памяти или из таблицы), получаем 8-ю запись числа.
Пример 2 6 6 3 0 4 10110110, 011000102 = 010|110|110, 011|000|1002 = 266,3048
Перевод двоичного в 16-е (правило тетрад).
Отмечаем группы по четыре двоичных цифры (тетрады) для целой части влево от запятой, а для дробной части – вправо от запятой. Если количество цифр дробной части не кратно 4, то она добавляется не достающими нулями справа. Заменяя тетрады на их шестнадцатиричные эквиваленты (по памяти или из таблицы), получаем 16-ю запись числа.
Пример 11(B) 6 6 2 10110110, 011000102 = 1011|0110, 0110|00102 = B6,6216 Перевод 8-го в 2-е
Заменить в записи 8-е цифры на двоичные триады (по памяти или из таблицы)
Пример
2 6 6 3 0 4 266,3048 = 010|110|110, 011|000|1002 =10110110, 01100012
Перевод 16-го в 2-е
Заменить в записи 16-е цифры на двоичные тетрады (по памяти или из таблицы)
Пример 11(B) 6 6 2 B6,6216 = 1011|0110, 0110|00102 =10110110, 01100012
Перевод 8-го в 16-е Перевести 8-е в 2-е. Затем перевести 2-е в 16-е. Пример
2 6 6 3 0 4 266,3048 = 010|110|110, 011|000|1002 =10110110, 01100012 = 11(B) 6 6 2 1011|0110, 0110|00102 = B6,6216
Перевод16-го в 8-е Перевести 16-е в 2-е. Затем перевести 2-е в 8-е.
Пример
11(B) 6 6 2 B6,6216 =1011|0110, 0110|00102 = 10110110, 01100012 =
2 6 6 3 0 4 010|110|110, 011|000|1002 = 266,3048
1. Перевод целых чисел (целой части числа). Осуществляется по правилу деления: Десятичное целое число делиться нацело на основание СЧ q с фиксацией остатка. Затем последовательно частные аналогично делятся с фиксацией остатков. Деление продолжается до тех пор, пока частное не станет равным нулю. Остатки, записанные в обратном порядке (с последнего до первого) представляют число в новой СЧ. Для 16-й СЧ необходимо перед записью заменить остатки от 10 до 15 на их буквенные эквиваленты A,…, F. Числа от 0 до 15 можно переводить с использованием таблицы (или по памяти) не прибегая к делению.
Пример. Перевод числа 795
В двоичную в столбик
795| 2 -794 | 397 | 2 1 |-396| 198 | 2 1 |- 198| 99 | 2 0 | -98 | 49| 2 1 | -48 | 24| 2 1 | -24 | 12| 2 0 | - 12 | 6 | 2 0 | -6 | 3 | 2 0 | -2 | 1 | 2 1 | -0 | 0 Записываем остатки в обратном порядке и проверяем
512 256 128 64 32 16 8 4 2 1 795 = 1 1 0 0 0 1 1 0 1 12 = 512+256+16+8+2+1=795 (верно!).
В строчку
795:2=397 | 1 397:2=198 | 1 198:2= 99 | 0 99:2= 49 | 1 49:2= 24 | 1 24:2= 12 | 0 12:2= 6 | 0 6:2= 3 | 0 3:2= 1 | 1 1:2= 0 | 1
Правило образования остатка. Усли делимое нечетное, то остаток 1. Если четное, то 0.
Записываем остатки снизу-вверх 795 = 1 1 0 0 0 1 1 0 1 12 = 512+256+16+8+2+1=795 (верно!).
Учитывая, что запись в строчку компактнее, деление в столбик применять не будем.
В восьмеричную в строчку
795:8=99 | 3 99:8=12 | 3 12:8= 1 | 4 1:8= 0 | 1 512 64 8 1 795=14338= 1·512+4·64+3·8+3·1= 512+256+24+3=795
В 16-ю в строчку
795:16=49 | 11 (B) 49:16= 3 | 1 3:16 = 0 | 3 795=31B16 = 3·256+1·16+11=768+16+11=795 (верно!).
Десятичные в двоичные можно перевести двойным переводом. Вначале перевести в восьмеричную или 16-ю. А потом заменить цифры из таблицы (или по памяти).
Пример 1 4 3 3 795=14338=1|100|011|011
3 1 B (11) 795=31B16 =11|0001|1011
2. Перевод дробных чисел (дробной части числа).
Первый способ По правилу умножения на основание СЧ: Десятичная дробь множиться на основание СЧ q с фиксацией целой части произведения. Затем дробная часть произведения аналогично множиться с фиксацией целой части произведения, и. т.д. Умножение продолжается столько раз, сколько цифр после запятой надо получить. Целые части произведений, записанные после запятой в порядке получения, представляют дробное число в новой СЧ. Для 16-й СЧ необходимо перед записью заменить целые части произведений от 10 до 15 на их буквенные эквиваленты A,…, F. Чтобы повысить точность представления дроби можно получить на одну цифру больше чем требуется и округлить дробь, т.е. добавить к предыдущей цифре 1, если дополнительная цифра больше либо равна q.
Пример Перевести 0,15637 в двоичное с 8-ю цифрами после запятой
1) 0,15637·2= 0,31274 2) 0,31274·2= 0,62548 3) 0,62548·2= 1,25096 4) 0,25096·2= 0,50192 5) 0,50192·2= 1,00384 6) 0,00384·2= 0,00768 7) 0,00768·2= 0,01536 8) 0,01536·2= 0,03072 9) 0,03072·2= 0,06144
Получили 0,15637 =,0010100002=,001012 16 8 4 2 1 Проверяем,001012 =, (4+1)/25=5/32=0,15625 ≈0,15637 (верно!)
Второй способ По правилу умножения на основание СЧ в степени числа цифр после запятой: Десятичная дробь множиться на qf (f -требуемое число цифр после запятой). Затем произведение округляется до ближайшего целого (или не округляется, т.е. берется целая часть). Полученное целое число переводится в q-ичное и размещается в записи после запятой начиная с f –й позиции. Пример Перевести 0,15637 в двоичное с 8-ю цифрами после запятой
0,15637·28 = 40 = 1010002 0,15637=,001010002=,001012 (совпадает с предыдущим способом)
Второй способ не проще. Просто он может быть реализован на калькуляторе программиста.
Пример из ЛР 2
Nж = 31 Х= Nж /70=0,4429 (4 цифры после запятой)
Перевод способом умножения на основание
0,4429·2= 0,8858 0,8858·2= 1,7716 0,7716·2= 1,5432 0,5432·2= 1,0864 0,0864·2= 0,1728 0,1728·2= 0,3456 0,3456·2= 0,6912 0,6912·2= 1,3824 0,3824·2= 0,7648 0,7648·2= 1,5296 0,5296·2= 1,0592 0,0592·2= 0,1184
11 10 9 8 7 6 5 4 3 2 1 0 0,4429=,0111000101102 =, (1024+512+256+16+4+2)/4096=0,442971≈0,4429
Пользуемся весами разрядов
Вторым способом
0,4429·212= 1814 = 111000101102 0,4429=,0111000101102 (совпадает с первым способом).
Дата добавления: 2014-01-15; Просмотров: 646; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |