Показать сообщение отдельно
Старый 23.12.2011, 18:49   #4 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

а) Задание решается несколькими способами, наиболее популярные из них - деление на основание с остатком, методы триад и тетрад и использование развернутой записи числа. Предлагаю третий способ, как, imho, наиболее наглядный
360(10)=256+64+32+8=1*2^8+0*2^7+1*2^6+1*2^5+0*2^4+ 1*2^3+0*2^2+0*2^1+0*2^0=101101000(2)
360(10)=256+96+8=1*16^2+6*16^1+8*16^0=168(16)
360(10)=320+40=5*8^2+5*8^1+0*8^0=550(8)

253(10)=128+64+32+16+8+4+1=1*2^7+1*2^6+1*2^5+1*2^4 +1*2^3+1*2^2+1*2^0=11111101(2)
253(10)=240+13=15*16^1+13*16^0=FD(16) - F=15, D=13
253(10)=192+56+5=3*8^2+7*8^1+5*8^0=375(8)

Метод триад продемонстрирую на последнем примере - перевод 253(10) в восьмеричную систему счисления. Метод основан на последовательном переводе в двоичную СС, разбиение полученного двоичного числа на тройки разрядов и преобразование троек двоичных разрядов в соответствии с таблицей соответствия чисел для первых 8 чисел (от 0 до 7).

Как уже выяснили, число 253(10)=11111101(2)
Разбиваем двоичное число 11111101 на тройки разрядов справа налево, недостающие разряды троек слева дополняем незначащими нулями. Получаем ряд троек двоичных разрядов: 011 111 101, каждой из троек соответствует разряд восьмеричного числа.
Максимальное значение тройки будет равно 111, что соответствует цифре 7, при превышении которого происходит переполнение восьмеричного разряда и он обнуляется с переносом единицы в старший разряд.
Если посмотреть по таблице соответствия первых 8 значений в разных СС, то тройке 011 соответствует цифра 3, 111 - цифра 7, 101 - цифра 5, соответственно, записываем эти цифры в порядке следования двоичных триад, получаем восьмеричное число 375(8).

Подобный способ перевода может использоваться и для шестнадцатиричных чисел, только используются четверки двоичных разрядов (тетрады). 16=2^4, максимальное значение тетрады 1111(2)=15=F(16).
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070