Ff в десятичной системе. Как переводить из двоичной системы в десятичную

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

Таблица 1 - Представление чисел в различных системах
исчисление (начало)

Системы счисления

Десятичная

Двоичная

Восьмеричная

Шестнадцатеричная

двоично-десятичная

Для того чтобы перевести из десятичной в двоичную, можно использовать два варианта.

1) К примеру число 37 нужно перевести из десятичной системы в двоичную, то нужно его делить на два, а затем проверять остаток от деления. Если остаток нечетный, то в низу мы подписывает единицу и следующий цикл деления идет через четное число, если останок от деления четный, то пишим ноль. На конце обязательно должна получиться 1. А теперь полученный результат мы преобразуем в двоичный, причем число идет справа на лево.

Пошагово: 37 - это число нечетное, значит 1 , затем 36/2 = 18. Число четное, значит 0 . 18/2 = 9 число нечетное, значит 1 , затем 8/2 = 4. Число четное, зачит 0 . 4/2 = 2, число четное значит 0 , 2/2 = 1 .

Итак, мы получили число. Не забудьте счет идет справа налево: 100101 - вот мы получили число в двоичной системе. А вообще это записывается в виде деления в столбик, как вы видите ниже на рисунке:

2) Но есть второй способ. Он мне больше нравиться. Перевод из одной системы в другую идет в следующем виде:

где ai - i-я цифра числа;
k - количество цифр в дробной части числа;
m - количество цифр в целой части числа;
N - основание системы исчисления.

Основание системы счисления N показывает, во сколько раз "вес" i-го разряда больше "веса" (i-1) разряда. Целая часть числа отделяется от дробной части точкой (запятой).

Целая часть числа AN1, с основой N1, переводится в систему счисления с основанием N2 путем последовательного деления целой части числа AN1 на записанную в виде числа с основанием N1 основу N2, до получения остатка.Полученная доля снова делится на основание N2, и этот процесс необходимо повторять, пока частица не станет меньше делителя. Полученные остатки от деления и последняя часть записываются в порядке, обратном полученном при делении. Сформированное число и будет целым числом с основанием N2.

Дробная часть числа AN1, с основой N1, переводится в систему счисления с основанием N2 путем последовательного умножения дробной части числа AN1 на основание N2, записанную в виде числа с основанием N1. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а дробная часть оставшейся принимается за новую умножений. Число умножений определяет разрядность полученного результата, представляющий дробную часть числа AN1 в системе счисления N2. Дробная часть числа при переводе часто представляется неточно.

Давайте это сделаем на примере:

Перевод с десятичной в двоичную

37 в десятичной нужно перевести в двоичную. Давайте поработаем со степенями:

2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1024 и так далее... до бесконечности

Значит: 37 - 32 = 5. 5 - 4 = 1. Ответ следующий в двоичной системе: 100101.

Давайте переведем число 658 из десятичной в двоичную:

658-512=146
146-128=18
18-16=2. В двоичной системе число будет иметь вид: 1010010010.

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

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

Перевод с десятичной в шестнадцатеричной

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

Перевод с двоичной в восмеричную

Чтобы перевести число из двоичной в восьмиричную систему нужно двоичное разбить по три числа.

К примеру полученное число 1010010010 разбивает по три числа, причем разбивка идет справа налево: 1 010 010 010 = 1222. Смотрите таблицу в самом начале.

Перевод с двоичной в шестнадцатеричную

Чтобы перевести число из двоичной в шестнадцатеричное, надо разбить на тетрады (по четыре)

10 1001 0010 = 292

Привожу несколько примеров, для того, чтобы вы просмотрели:

Перевод осуществляется из двоичной в восьмиричную, затем в шестнадцатеричную, а затем из двоичной десятичную

(2) = 11101110
(8) = 11 101 110 = 276
(16) = 1110 1110 = EE
(10) = 1*128+ 1*64+ 1*32+ 0 +1*8 + 1*4 + 1*2+ 0= 238
3) (8) = 657

Перевод осуществляется из шестнадцатеричной в двоичную, затем в восьмиричную, а затем из двоичной десятичную

(16) = 6E8
(2) = 110 1110 1000
(8) = 11 011 101 000 = 2250
(10) = 1*1024+1*512+ 0 +1*128+ 1*64+ 1*32+ 8 = 1768

Сдающим ЕГЭ и не только…

Странно, что в школах на уроках информатики обычно показывают ученикам самый сложный и неудобный способ перевода чисел из одной системы в другую. Это способ заключается в последовательном делении исходного числа на основание и сборе остатков от деления в обратном порядке.

Например, нужно перевести число 810 10 в двоичную систему:

Результат записываем в обратном порядке снизу вверх. Получается 81010 = 11001010102

Если нужно переводить в двоичную систему довольно большие числа, то лестница делений приобретает размер многоэтажного дома. И как тут собрать все единички с нулями и ни одной не пропустить?

В программу ЕГЭ по информатике входят несколько задач, связанных с переводом чисел из одной системы в другую. Как правило, это преобразование между 8- и 16-ричными системами и двоичной. Это разделы А1, В11. Но есть и задачи с другими системами счисления, как например, в разделе B7.

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

Таблица степеней числа 2:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Она легко получается умножением предыдущего числа на 2. Так, что если помните не все эти числа, остальные нетрудно получить в уме из тех, которые помните.

Таблица двоичных чисел от 0 до 15 c 16-ричным представлением:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

Недостающие значения тоже нетрудно вычислить, прибавляя по 1 к известным значениям.

Перевод целых чисел

Итак, начнем с перевода сразу в двоичную систему. Возьмём то же число 810 10 . Нам нужно разложить это число на слагаемые, равные степеням двойки.

  1. Ищем ближайшую к 810 степень двойки, не превосходящую его. Это 2 9 = 512.
  2. Вычитаем 512 из 810, получаем 298.
  3. Повторим шаги 1 и 2, пока не останется 1 или 0.
  4. У нас получилось так: 810 = 512 + 256 + 32 + 8 + 2 = 2 9 + 2 8 + 2 5 + 2 3 + 2 1 .
Далее есть два способа, можно использовать любой из них. Как легко увидеть, что в любой системе счисления её основание всегда 10. Квадрат основания всегда будет 100, куб 1000. То есть степень основания системы счисления - это 1 (единица), и за ней столько нулей, какова степень.

Способ 1 : Расставить 1 по тем разрядам, какие получились показатели у слагаемых. В нашем примере это 9, 8, 5, 3 и 1. В остальных местах будут стоять нули. Итак, мы получили двоичное представление числа 810 10 = 1100101010 2 . Единицы стоят на 9-м, 8-м, 5-м, 3-м и 1-м местах, считая справа налево с нуля.

Способ 2 : Распишем слагаемые как степени двойки друг под другом, начиная с большего.

810 =

А теперь сложим эти ступеньки вместе, как складывают веер: 1100101010 .

Вот и всё. Попутно также просто решается задача «сколько единиц в двоичной записи числа 810?».

Ответ - столько, сколько слагаемых (степеней двойки) в таком его представлении. У 810 их 5.

Теперь пример попроще.

Переведём число 63 в 5-ричную систему счисления. Ближайшая к 63 степень числа 5 - это 25 (квадрат 5). Куб (125) будет уже много. То есть 63 лежит между квадратом 5 и кубом. Тогда подберем коэффициент для 5 2 . Это 2.

Получаем 63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5 .

Ну и, наконец, совсем лёгкие переводы между 8- и 16-ричными системами. Так как их основанием является степень двойки, то перевод делается автоматически, просто заменой цифр на их двоичное представление. Для 8-ричной системы каждая цифра заменяется тремя двоичными разрядами, а для 16-ричной четырьмя. При этом все ведущие нули обязательны, кроме самого старшего разряда.

Переведем в двоичную систему число 547 8 .

547 8 = 101 100 111
5 4 7

Ещё одно, например 7D6A 16 .

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

Переведем в 16-ричную систему число 7368. Сначала цифры запишем тройками, а потом поделим их на четверки с конца: 736 8 = 111 011 110 = 1 1101 1110 = 1DE 16 . Переведем в 8-ричную систему число C25 16 . Сначала цифры запишем четвёрками, а потом поделим их на тройки с конца: C25 16 = 1100 0010 0101 = 110 000 100 101 = 6045 8 . Теперь рассмотрим перевод обратно в десятичную. Он труда не представляет, главное не ошибиться в расчётах. Раскладываем число на многочлен со степенями основания и коэффициентами при них. Потом всё умножаем и складываем. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688 . 732 8 = 7 * 8 2 + 3*8 + 2 = 474 .

Перевод отрицательных чисел

Здесь нужно учесть, что число будет представлено в дополнительном коде. Для перевода числа в дополнительный код нужно знать конечный размер числа, то есть во что мы хотим его вписать - в байт, в два байта, в четыре. Старший разряд числа означает знак. Если там 0, то число положительное, если 1, то отрицательное. Слева число дополняется знаковым разрядом. Беззнаковые (unsigned) числа мы не рассматриваем, они всегда положительные, а старший разряд в них используется как информационный.

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

Итак, переведем число -79 в двоичную систему. Число займёт у нас один байт.

Переводим 79 в двоичную систему, 79 = 1001111. Дополним слева нулями до размера байта, 8 разрядов, получаем 01001111. Меняем 1 на 0 и 0 на 1. Получаем 10110000. К результату прибавляем 1, получаем ответ 10110001 . Попутно отвечаем на вопрос ЕГЭ «сколько единиц в двоичном представлении числа -79?». Ответ - 4.

Прибавление 1 к инверсии числа позволяет устранить разницу между представлениями +0 = 00000000 и -0 = 11111111. В дополнительном коде они будут записаны одинаково 00000000.

Перевод дробных чисел

Дробные числа переводятся способом, обратным делению целых чисел на основание, который мы рассмотрели в самом начале. То есть при помощи последовательного умножения на новое основание с собиранием целых частей. Полученные при умножении целые части собираются, но не участвуют в следующих операциях. Умножаются только дробные. Если исходное число больше 1, то целая и дробная части переводятся отдельно, потом склеиваются.

Переведем число 0,6752 в двоичную систему.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Процесс можно продолжать долго, пока не получим все нули в дробной части или будет достигнута требуемая точность. Остановимся пока на 6-м знаке.

Получается 0,6752 = 0,101011 .

Если число было 5,6752, то в двоичном виде оно будет 101,101011 .

Чтобы быстро переводить числа из десятичной системы счисления в двоичную, нужно хорошо знать числа "2 в степени". Например, 2 10 =1024 и т.д. Это позволит решать некоторые примеры на перевод буквально за секунды. Одной из таких задач является задача A1 из демо ЕГЭ 2012 года . Можно, конечно, долго и нудно делить число на "2". Но лучше решать по-другому, экономя драгоценное время на экзамене.

Метод очень простой. Суть его такая: если число, которое нужно перевести из десятичной системы, равно числу "2 в степени", то это число в двоичной системе содержит количество нулей, равное степени. Впереди этих нулей добавляем "1".

  • Переведем число 2 из десятичной системы. 2=2 1 . Поэтому в двоичной системе число содержит 1 нуль . Впереди ставим "1" и получаем 10 2 .
  • Переведем 4 из десятичной системы. 4=2 2 . Поэтому в двоичной системе число содержит 2 нуля . Впереди ставим "1" и получаем 100 2.
  • Переведем 8 из десятичной системы. 8=2 3 . Поэтому в двоичной системе число содержит 3 нуля . Впереди ставим "1" и получаем 1000 2.


Аналогично и для других чисел "2 в степени".

Если число, которое нужно перевести, меньше числа "2 в степени" на 1, то в двоичной системе это число состоит только из единиц, количество которых равно степени.

  • Переведем 3 из десятичной системы. 3=2 2 -1. Поэтому в двоичной системе число содержит 2 единицы . Получаем 11 2.
  • Переведем 7 из десятичной системы. 7=2 3 -1. Поэтому в двоичной системе число содержит 3 единицы . Получаем 111 2.

На рисунке квадратиками обозначено двоичное представление числа, а слева розовым цветом-десятичное.


Аналогичен перевод и для других чисел "2 в степени-1".

Понятно, что перевод чисел от 0 до 8 можно сделать быстро или делением, или просто знать наизусть их представление в двоичной системе. Я привела эти примеры, чтобы Вы поняли принцип данного метода и использовали его для перевода более "внушительных чисел", например, для перевода чисел 127,128, 255, 256, 511, 512 и т.д.

Можно встретить такие задачи, когда нужно перевести число, не равное числу "2 в степени", но близкое к нему. Оно может быть больше или меньше числа "2 в степени". Разница между переводимым числом и числом "2 в степени" должна быть небольшая. Например, до 3. Представление чисел от 0 до 3 в двоичной системе надо просто знать без перевода.

Если число больше , то решаем так:

Переводим сначала число "2 в степени" в двоичную систему. А потом прибавляем к нему разницу между числом "2 в степени" и переводимым числом.

Например, переведем 19 из десятичной системы. Оно больше числа "2 в степени" на 3.

16=2 4 . 16 10 =10000 2 .

3 10 =11 2 .

19 10 =10000 2 +11 2 =10011 2 .

Если число меньше числа "2 в степени", то удобнее пользоваться числом "2 в степени-1". Решаем так:

Переводим сначала число "2 в степени-1" в двоичную систему. А потом вычитаем из него разницу между числом "2 в степени-1" и переводимым числом.

Например, переведем 29 из десятичной системы. Оно больше числа "2 в степени-1" на 2. 29=31-2.

31 10 =11111 2 .

2 10 =10 2 .

29 10 =11111 2 -10 2 =11101 2

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

Например, перевести число 528 из десятичной системы. 528=512+16. Переводим отдельно 512 и 16.
512=2 9 . 512 10 =1000000000 2 .
16=2 4 . 16 10 =10000 2 .
Теперь сложим столбиком:

Способы перевода чисел из одной системы счисления в другую.

Перевод чисел из одной позиционной системы счисления в другую: перевод целых чисел.

Чтобы перевести целое число из одной системы счисления с основанием d1 в другую с основанием d2 необходимо последовательно делить это число и получаемые частные на основание d2 новой системы до тех пор, пока не получится частное меньше основания d2. Последнее частное - старшая цифра числа в новой системе счисления с основанием d2, а следующие за ней цифры - это остатки от деления, записываемые в последовательности, обратной их получению. Арифметические действия выполнять в той системе счисления, в которой записано переводимое число.

Пример 1. Перевести число 11(10) в двоичную систему счисления.

Ответ: 11(10)=1011(2).

Пример 2. Перевести число 122(10) в восьмеричную систему счисления.


Ответ: 122(10)=172(8).

Пример 3. Перевести число 500(10) в шестнадцатеричную систему счисления.


Ответ: 500(10)=1F4(16).

Перевод чисел из одной позиционной системы счисления в другую: перевод правильных дробей.

Чтобы перевести правильную дробь из системы счисления с основанием d1 в систему с основанием d2, необходимо последовательно умножать исходную дробь и дробные части получающихся произведений на основание новой системы счисления d2. Правильная дробь числа в новой системе счисления с основанием d2 формируется в виде целых частей получающихся произведений, начиная с первого.
Если при переводе получается дробь в виде бесконечного или расходящегося ряда, процесс можно закончить при достижении необходимой точности.

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

Пример 1. Перевести число 0,625(10) в двоичную систему счисления.


Ответ: 0,625(10)=0,101(2).

Пример 2. Перевести число 0,6(10) в восьмеричную систему счисления.


Ответ: 0,6(10)=0,463(8).

Пример 2. Перевести число 0,7(10) в шестнадцатеричную систему счисления.


Ответ: 0,7(10)=0,В333(16).

Перевод двоичных, восьмеричных и шестнадцатеричных чисел в десятичную систему счисления.

Для перевода числа P-ичной системы в десятичную необходимо использовать следующую формулу разложения:
аnan-1…а1а0=аnPn+ аn-1Pn-1+…+ а1P+a0 .

Пример 1. Перевести число 101,11(2) в десятичную систему счисления.

Ответ: 101,11(2)= 5,75(10) .

Пример 2. Перевести число 57,24(8) в десятичную систему счисления.

Ответ: 57,24(8) = 47,3125(10) .

Пример 3. Перевести число 7A,84(16) в десятичную систему счисления.

Ответ: 7A,84(16)= 122,515625(10) .


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

Для перевода числа из восьмеричной системы счисления в двоичную необходимо каждую цифру этого числа записать трехразрядным двоичным числом (триадой).

Пример: записать число 16,24(8) в двоичной системе счисления.


Ответ: 16,24(8)= 1110,0101(2) .

Для обратного перевода двоичного числа в восьмеричную систему счисления, необходимо исходное число разбить на триады влево и вправо от запятой и представить каждую группу цифрой в восьмеричной системе счисления. Крайние неполные триады дополняют нулями.

Пример: записать число 1110,0101(2) в восьмеричной системе счисления.


Ответ: 1110,0101(2)= 16,24(8) .

Для перевода числа из шестнадцатеричной системы счисления в двоичную необходимо каждую цифру этого числа записать четырехразрядным двоичным числом (тетрадой).

Пример: записать число 7A,7E(16) в двоичной системе счисления.


Ответ: 7A,7E(16)= 1111010,0111111(2) .

Примечание: незначащие нули слева для целых чисел и справа для дробей не записываются.

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

Пример: записать число 1111010,0111111(2) в шестнадцатеричной системе счисления.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: