[Закрыть]
 
popoff.donetsk.ua
Чем занимаются птички на улице?
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Статьи - ДонНТУ - Основы дискретной математики - Общая теоретическая справка - Системы счисления - Перевод чисел из любой системы счисления в десятичную
Я это делаю
Персональное меню
Голосование
Деньги, либо любимое занятие? Постоянный адрес этого вопроса
Ваш возраст (не обязательно):

Введите целое число от 3 до 99.
Почему? (не обязательно):
Другие вопросы
Поиск по сайту
Реклама
Гинеколог, стоматолог, психотерапевт в Донецке
Статистика

Перевод чисел из любой системы счисления в десятичную

Постоянный адрес статьи

Перевод чисел из любой системы счислению в десятичную в целом гораздо проще, чем перевод из десятичной любую. Перевод этот основан на полиномиальной записи числа. Чтобы понять, что это такое, вернёмся к разделу «цифры и числа». Там мы рассматривали такую картинку:

Десятичная система счисления

Если взять каждую цифру и умножить её на множитель, соответствующий позиции, то получится полиномиальная запись числа:

1*102+7*101+5*0+3*-1=175.3

Фактически мы имеем обычный полином. Значение этого полинома можно посчитать. В данном случае, поскольку мы в полиномиальной форме записали десятичное число - то можно сказать, что мы перевели число из десятичной системы счисления в десятичную - естественно при этом получили само это число.

А теперь самое интересное - эта полиномиальная запись числа может использоваться для перевода из любой системы счисления в десятичную. Фактически, в разделе «цифры и числа» мы выполнили такой перевод несколько раз - если Вы этого не заметили, пересмотрите этот раздел ещё раз и найдите, где был выполнен такой перевод.

Вот ещё один пример перевода числа из шестнадцатеричной системы счисления в десятичную:

4E7F.3F116= 4*163 + 14*162 + 7*161 + 15*160 + 3*16-1 + 15*16-2 + 1*16-3=
16384 + 3584 + 112 + 15 + 0.1875 + 0.05859375 + 0.000244140625 = 20095.24633789062510

Обратите внимание, что перевод осуществляется в десятичную систему счисления за счёт того, что все операции (возведение в степень, умножение, сложение) выполняются в десятичной системе счисления. Если бы мы с такой же лёгкостью выполняли эти операции в любой другой системе счисления, то этот способ можно было бы использовать для перевода чисел из любой системы счисления в любую другую.

Например, при использовании этого способа для перевода в восьмеричную систему счисления, перевод будет выглядеть так:

4E7F.3F116= 4*203 + 16*202 + 7*201 + 17*200 + 3*20-1 + 17*20-2 + 1*20-3=
4*10000 + 16*400 + 7*20 + 17 + 3*0.04 + 17*0.002 + 1*0.0001 =
40000 + 7000 + 160 + 17 + 0.14 + 0.036 + 0.0001 = 47177.17618

В данном случае все операции выполняются в восьмеричной системе счисления.

Например, 7*20=1608 (а не привычное нам 14010) - потому что операции выполняются в восьмеричной системе счисления вместо привычной нам десятичной. 208 - это те же 1610, которые мы возводили в степень при переводе в десятичную систему счисления. Если перевести все числа в десятичную систему счисления, то это умножение будет выглядеть так: 7*16=11210 - то есть в точности то же самое, что мы имели при переводе этого числа в десятичную систему счисления.

Перевод небольших целых чисел из двоичной системы счисления в десятичную в уме

Если Вам приходится часто иметь дело с двоичной системой счисления, то было бы полезно научиться быстро в уме переводить хотя бы небольшие целые двоичные числа в десятичную систему счисления.

Научиться этому очень просто, если Вы понимаете, что каждой позиции в двоичном числе соответствует степень двойки. При этом степени двойки для позиций от 0 до 3 запомнить очень просто - это числа 1, 2, 4 и 8:

8421

Если в соответствующей позиции в двоичном числе записана 1, то эту степень двойки нужно прибавить к результату. Если там 0 - то ничего не прибавлять. Например, число 10112:

8421
1 0 1 1

это сумма чисел 8+2+1=11 (так как единицы стоят в позициях, соответствующих 8, 2 и 1). А число 01102

8421
0 1 1 0

это сумма чисел 4+2=62. Проще всего запомнить число 11112

8421
1 1 1 1

это сумма всех четырёх чисел: 8+4+2+1=162 и число 00002

8421
0 0 0 0

в котором ничего не надо складывать и поэтому оно равно 0.

Перевод дробных чисел из двоичной системы счисления в десятичную в уме с точностью до 1/4

Также легко можно научиться переводить в уме и небольшие числа с плавающей точкой. Как минимум, легко запомнить, что первый знак после запятой в двоичной системе счисления - это количество половинок, второй знак - это количество четвертинок, а третий знак - это количество восьмых частей. Или ладно, не будем про восьмые части - остановимся на половинках и на четвертинках.

Зная это, можно легко перевести любое число с плавающей точкой с точностью до 0.2510 - а такое умение может Вам пригодиться хотя бы только для того, чтобы хотя бы приблизительно оценить, у Вас вообще правильное число в двоичной системе счисления ли оно вообще очень далеко от правильного результата.

Итак, первая позиция после запятой - это половинки, а вторая позиция после запятой - четвертинки:

половинкичетвертинки

Если в двоичном числе в соответствующей позиции стоит единицу, то половинку или четвертинку нужно прибавить к числу. Если ноль - не прибавлять. Дальше можно перечислить все возможные варианты.

0.002=010 (так как ничего не нужно прибавлять):

половинкичетвертинки
00

0.012= одна четвертинка =0.2510:

половинкичетвертинки
01

0.102= одна половинка =0.510:

половинкичетвертинки
10

0.112= одна половинка и одна четвертинка =0.7510:

половинкичетвертинки
11

Последняя модификация: 28.02.09 17:04

Не проходите мимо! Оставьте Ваш комментарий в форуме! >>>