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

18.08.2019

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

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

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

  • Для образца возьмем число 156, записанное в привычной нам десятичной форме, и попробуем перевести его в двоичный вид.
  • Алгоритм будет выглядеть следующим образом - начальное число понадобится разделить на два, затем еще раз на 2, и еще раз на 2 до тех пор, пока в ответе не останется единица.
  • При совершении деления для перевода в двоичный код имеют значения не целые числа - а остатки. Если при делении в ответе получилось четное число, то остаток записывается в виде цифры 0, если нечетное - то в виде цифры 1.
  • На практике можно легко убедиться, что начальный двоичный ряд остатков для числа 156 будет выглядеть следующим образом - 00111001. Для того, чтобы превратить его в полноценный двоичный код, этот ряд понадобится записать в обратном порядке - то есть, 10011100.

Двоичное число 10011100, полученное в результате нехитрой операции, и будет двоичным выражением числа 156.

Ещё один пример, но уже на картинке

Перевод двоичного числа в десятичную систему

Обратный перевод - из двоичной в десятичную систему - может показаться чуть более сложным. Но если использовать простой метод удвоения, то и с этой задачей получится справиться за пару минут. Для примера возьмем все то же число, 156, но в двоичном виде - 10011100.

  • Метод удвоения основан на том, что при каждом шаге вычисления берут так называемый предыдущий итог и прибавляют к нему следующую цифру.
  • Поскольку на первом шаге предыдущего итога еще не существует, здесь всегда берут 0, удваивают его и прибавляют к нему первую цифру выражения. В нашем примере это будет 0 * 2 + 1 = 1.
  • На втором шаге мы уже располагаем предыдущим итогом - он равен 1. Это цифру нужно удвоить, а потом прибавить к ней следующую по порядку, то есть - 1 * 2 + 0 = 2.
  • На третьем, четвертом и последующем шагах все так же берутся предыдущие итоги и складываются с последующей цифрой в выражении.

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

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

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

Можно сформулировать алгоритм перевода целых чисел из системы с основанием p в систему с основанием q :

1. Основание новой системы счислениявыразитьцифрамиисходной системы счисления ивсепоследующие действия производить в исходной системе счисления.

2. Последовательно выполнять деление данного числаиполучаемых целых частных на основание новой системы счисления до тех пор, пока не получим частное, меньшее делителя.

3. Полученныеостатки,являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления.

4. Составить число в новой системе счисления, записывая его, начиная с последнего остатка.

Пример 2.12. Перевестидесятичное число 173 10 в восьмеричную систему счисления:

Получаем:173 10 =255 8

Пример 2.13. Перевести десятичное число 173 10 в шестнадцатеричную систему счисления:

Получаем: 173 10 =AD 16 .

Пример 2.14. Перевести десятичное число 11 10 в двоичную систему счисления. Рассмотреннуювыше последовательность действий (алгоритм перевода) удобнее изобразить так:

Получаем: 11 10 =1011 2 .

Пример 2.15. Иногда более удобно записать алгоритм перевода в форме таблицы. Переведем десятичное число 363 10 в двоичное число.

Делитель

Получаем: 363 10 =101101011 2

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

Можно сформулировать алгоритм перевода правильнойдроби с основанием p в дробь с основанием q:

1. Основание новой системы счислениявыразитьцифрамиисходной системы счисленияивсепоследующие действия производить в исходной системе счисления.

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

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

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

Пример 2.17. Перевести число 0,65625 10 в восьмеричную систему счисления.

Получаем: 0,65625 10 =0,52 8

Пример 2.17. Перевести число 0,65625 10 вшестнадцатеричнуюсистему счисления.

x 16

Получаем: 0,65625 10 =0,А8 1

Пример 2.18. Перевестидесятичнуюдробь 0,5625 10 в двоичную систему счисления.

x 2

x 2

x 2

x 2

Получаем: 0,5625 10 =0,1001 2

Пример 2.19. Перевести в двоичную систему счисления десятичную дробь 0.7 10 .

Очевидно, чтоэтот процесс может продолжаться бесконечно,давая все новые и новые знакивизображениидвоичногоэквивалентачисла 0,7 10 . Так,за четыре шага мы получаем число 0,1011 2 , а за семь шагов число 0,1011001 2 ,которое является более точным представлениемчисла 0,7 10 в двоичной системе счисления,и т.д.Такой бесконечный процесс обрывают на некотором шаге, когда считают, что получена требуемая точность представления числа.

2.3.3. Перевод произвольных чисел

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

Пример 2.20 . Перевести число 17,25 10 в двоичную систему счисления.

Получаем: 17,25 10 =1001,01 2

Пример 2.21. Перевести число 124,25 10 в восьмеричную систему.

Получаем: 124,25 10 =174,2 8

2.3.4. Перевод чисел из системы счисления с основанием 2 в систему счисления с основанием 2 n и обратно

Перевод целых чисел. Если основание q-ичной системы счисления является степеньючисла 2, топереводчисел из q-ичной системы счисления в 2-ичную и обратно можно проводить по более простым правилам. Для того, чтобы целое двоичное число записать в системе счисления с основанием q=2 n , нужно:

1. Двоичное число разбить справа налево на группы по nцифр в каждой.

2. Если в последней левой группе окажется меньше n разрядов, то ее надо дополнить слева нулями до нужного числа разрядов.

Пример 2.22. Число 101100001000110010 2 переведем в восьмеричную систему счисления.

Разбиваем число справа налево на триады и под каждой из них записываем соответствующую восьмеричную цифру:

Получаем восьмеричное представление исходного числа: 541062 8 .

Пример 2.23. Число 1000000000111110000111 2 переведем в шестнадцатеричную систему счисления.

Разбиваем числосправа налево на тетрады и под каждой из них записываем соответствующую шестнадцатеричную цифру:

Получаем шестнадцатеричноепредставлениеисходногочисла: 200F87 16 .

Перевод дробных чисел. Длятого,чтобыдробное двоичное число записать в системе счисления с основанием q=2 n , нужно:

1. Двоичное число разбить слева направо на группы по nцифр в каждой.

2. Еслив последней правой группе окажется меньше n разрядов,то ее надо дополнить справа нулями до нужного числа разрядов.

3. Рассмотреть каждую группу как n-разрядное двоичное число изаписать ее соответствующей цифрой в системе счисления с основанием q=2 n .

Пример 2.24. Число0,10110001 2 переведем в восьмеричную систему счисления.

Разбиваем число слева направо на триады и под каждой из них записываем соответствующую восьмеричную цифру:

Получаем восьмеричное представление исходного числа: 0,542 8 .

Пример 2.25. Число0,100000000011 2 переведем в шестнадцатеричную систему счисления. Разбиваем число слева направо на тетрады и под каждой из них записываем соответствующую шестнадцатеричную цифру:

Получаем шестнадцатеричноепредставлениеисходногочисла: 0,803 16

Перевод произвольных чисел. Для того, чтобы произвольное двоичное число записать в системе счисления с основанием q=2 n , нужно:

1. Целую часть данногодвоичногочисларазбитьсправа налево, а дробную - слева направо на группы по n цифр в каждой.

2. Если в последних левой и/или правой группах окажется меньше n разрядов, то их надо дополнить слева и/или справа нулямидо нужного числа разрядов;

3.Рассмотретькаждую группу как n-разрядное двоичное число и записать ее соответствующей цифрой в системе счисления с основанием q=2 n

Пример 2.26. Число 111100101,0111 2 переведем в восьмеричную систему счисления.

Разбиваем целую и дробную части числа на триады и под каждой из них записываем соответствующую восьмеричную цифру:

Получаем восьмеричное представление исходного числа: 745,34 8 .

Пример 2.27. Число11101001000,11010010 2 переведем в шестнадцатеричную систему счисления.

Разбиваем целую и дробную части числа на тетрадыи под каждой из них записываем соответствующую шестнадцатеричную цифру:

Получаем шестнадцатеричное представление исходного числа: 748,D2 16 .

Перевод чисел из систем счисления с основанием q=2 n в двоичную систему. Для того, чтобы произвольное число, записанное в системе счисления с основанием q=2 n , перевести в двоичную систему счисления, нужно каждую цифру этого числа заменить ее n-значным эквивалентом в двоичной системе счисления.

Пример 2.28 .Переведем шестнадцатеричное число 4АС35 16 вдвоичную систему счисления.

В соответствии с алгоритмом:

Получаем: 1001010110000110101 2 .

Задания для самостоятельного выполнения (Ответы )

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

Двоичная

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

Десятичная

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

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

Двоичная

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

Десятичная

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

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

Двоичная

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

Десятичная

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

59,B

Цели урока:

  • повторить изученный материал по теме система счисления;
  • научится переводить число из десятичной системы в любую другую позиционную систему счисления и наоборот;
  • освоить принципы перевода чисел из одной системы в другую;
  • развивать логическое мышление.

Ход урока

Вначале урока краткое повторение и проверка домашнего задания..

В каком виде представлена числовая информация в памяти компьютера?

Для чего используются системы счисления?

Какие виды систем счисления вы знаете? Привести свои примеры.

Чем отличаются позиционные системы от непозиционных?.

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

представить любое целое неотрицательное чисело:

В позиционных системах значение записи целого числа определяется по следующему правилу: пусть a n a n-1 a n-2 …a 1 a 0 - запись числа A, а i – цифры, тогда

где p - целое число большее 1, которое называется основанием системы счисления

Для того, чтобы при заданном p любое неотрицательное целое число можно было бы записать по формуле (1) и притом единственным образом, числовые значения различных цифр должны быть различными целыми числами, принадлежащими отрезку от 0 до p-1.

1) Десятичная система

цифры: 0,1,2,3,4,5,6,7,8,9

число 5735 = 5·10 3 +7·10 2 +3·10 1 +8·10 0

2) Троичная система

цифры: 0,1,2

число 201 3 = 2·3 2 +0·3 1 +1·3 0

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

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

Во всех позиционных системах для записи отрицательных чисел так же как и в десятичной системе используется знак ‘–‘. Для отделения целой части числа от дробной используется запятая. Значение записи a n a n-1 a n-2 …a 1 a 0 , a -1 a -2 …a m-2 a m-1 a m числа A определяется по формуле, являющейся обобщением формулы (1):

75,6 = 7·10 1 +5·10 0 +6·10 –1

–2,314 5 = –(2·5 0 +3·5 –1 +1·5 –2 +4·5 –3)

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

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

Перевод чисел из произвольной системы счисления в десятичную выполняется непосредственным вычислением по формуле (1) для целых и формуле (2) для дробных чисел.

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

Перевести число из десятичной системы в систему с основанием p – значит найти коэффициенты в формуле (2). Иногда это легко сделать простым подбором. Например, пусть нужно перевести число 23,5 в восьмеричную систему. Нетрудно заметить, что 23,5 = 16+7+0,5 = 2·8+7+4/8 = 2·8 1 +7·8 0 +4·8 –1 =27,48. Понятно, что не всегда ответ столь очевиден. В общем случае применяется способ перевода отдельно целой и дробной частей числа.

Для перевода целых чисел применяется следующий алгоритм (полученный на основании формулы (1)):

1. Найдем частное и остаток от деления числа на p. Остаток будет очередной цифрой ai (j=0,1,2 …) записи числа в новой системе счисления.

2. Если частное равно нулю, то перевод числа закончен, иначе применяем к частному пункт 1.

Замечание 1. Цифры ai в записи числа нумеруются справа налево.

Замечание 2. Если p>10, то необходимо ввести обозначения для цифр с числовыми значениями, большими или равными 10.

Перевести число 165 в семеричную систему счисления.

165:7 = 23 (остаток 4) => a 0 = 4

23:7 = 3 (остаток 2) => a 1 = 2

3:7 = 0 (остаток 3) => a 2 = 3

Выпишем результат: a 2 a 1 a 0 , т.е. 3247.

Выполнив проверку по формуле (1), убедимся в правильности перевода:

3247=3·7 2 +2·7 1 +4·7 0 =3·49+2·7+4 = 147+14+4 = 165.

Для перевода дробных частей чисел применяется алгоритм, полученный на основании формулы (2):

1. Умножим дробную часть числа на p.

2. Целая часть результата будет очередной цифрой am (m = –1,–2, –3 …) записи числа в новой системе счисления. Если дробная часть результата равна нулю, то перевод числа закончен, иначе применяем к ней пункт 1.

Замечание 1. Цифры a m в записи числа располагаются слева направо в порядке возрастания абсолютного значения m.

Замечание 2. Обычно количество дробных разрядов в новой записи числа ограничивается заранее. Это позволяет выполнить приближенный перевод с заданной точностью. В случае бесконечных дробей такое ограничение обеспечивает конечность алгоритма.

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

0,625·2 = 1,25 (целая часть 1) => a -1 =1

0,25·2 = 0,5 (целая часть 0) => a- 2 = 0

0,5·2 = 1,00 (целая часть 1) => a- 3 = 1

Итак, 0,62510 = 0,1012

Выполнив проверку по формуле (2), убедимся в правильности перевода:

0,1012=1·2 -1 +0·2- 2 +1·2 -3 =1/2+1/8 = 0,5+0,125 = 0,625.

Перевести число 0,165 в четверичную систему счисления, ограничившись четырьмя четверичными разрядами.

0,165·4 = 0,66 (целая часть 0) => a -1 =0

0,66·4 = 2,64 (целая часть 2) => a -2 = 2

0,64·4 = 2,56 (целая часть 2) => a -3 = 2

0,56·4 = 2,24 (целая часть 2) => a -4 = 2

Итак, 0,16510 ” 0,02224

Выполним обратный перевод, чтобы убедиться, что абсолютная погрешность не превышает 4–4:

0,02224 = 0·4 -1 +2·4 -2 +2·4 -3 +2·4 -4 = 2/16+2/64+2/256 = 1/8+1/32+1/128 = 21/128 = 0,1640625

|0,1640625–0,165| = 0,00094 < 4–4 = 0,00390625

Перевод чисел из одной произвольной системы в другую

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

Особым способом выполняется перевод чисел для систем с кратными основаниями.

Пусть p и q – основания двух систем счисления. Будем называть эти системы системами счисления с кратными основаниями, если p = qn или q = pn, где n – натуральное число. Так, например, системы счисления с основаниями 2 и 8 являются системами счисления с кратными основаниями.

Пусть p = qn и требуется перевести число из системы счисления с основанием q в систему счисления с основанием p. Разобьем целую и дробную части записи числа на группы по n последовательно записанных цифр влево и вправо от запятой. Если количество цифр в записи целой части числа не кратно n, то надо дописать слева соответствующее количество нулей. Если количество цифр в записи дробной части числа не кратно n, то нули дописываются справа. Каждая такая группа цифр числа в старой системе счисления будет соответствовать одной цифре числа в новой системе счисления.

Переведем 1100001,111 2 в четверичную систему счисления.

Дописав нули и выделив пары цифр, получим 01100001,11102.

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

Итак, 1100001,1112 = 01100001,11102 = 1201,324.

Пусть теперь требуется выполнить перевод из системы с большим основанием q, в систему с меньшим основанием p, т.е. q = p n . В этом случае одной цифре числа в старой системе счисления соответствует n цифр числа в новой системе счисления.

Пример: Выполним проверку предыдущего перевода числа.

1201,324 = 1100001,11102=1100001,1112

В шестнадцатеричной системе есть цифры с числовыми значениями 10,11,12, 13,14,15. Для их обозначения используют первые шесть букв латинского алфавита A, B, C, D, E, F.

Приведем таблицу чисел от 0 до 16, записанных в системах счисления с основаниями 10, 2, 8 и 16.

Число в десятичной системе счисления 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
В восьмеричной 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20
В двоичной 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
В шестнадцатеричной 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

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

Пример: Переведем число 110101001010101010100,11 2 в шестнадцатеричную систему счисления.

Воспользуемся кратностью оснований систем счисления (16=2 4). Сгруппируем цифры по четыре, дописав, слева и справа нужное количество нулей

000110101001010101010100,1100 2

и, сверяясь с таблицей, получим: 1A9554,C 16

Вывод:

В какой системе счисления лучше записывать числа – это вопрос удобства и традиций. С технической точки зрения, в ЭВМ удобно использовать двоичную систему, так как в ней для записи числа используются только две цифры 0 и 1, которые можно представить двумя легко различимыми состояниями “нет сигнала ” и “есть сигнал”.

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

Записываем задание на дом:

а) Запишите дату рождения всех членов вашей семьи в различных системах счисления.

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

а) 1001111110111,011 2 ;

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

Пример. Число 135 перевести из 10-тичной СС в 2-ичную, 8-ричную и 16-ричную системы счисления.

1) 2) 3)

Задание 2.

Перевести в двоичную, восьмеричную и шестнадцатеричную СС следующие числа 1275,973, 172

Обратный перевод чисел из любой СС в 10-тичную.

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

2) Обратный перевод чисел осуществляется по формуле:

где A – заданное число,

g – основание СС заданного числа (=2 для 2-ичной СС, для других СС - подобно),

m – число цифр в целой части числа.

n – число цифр в дробной части числа,

a – значение цифр заданного числа(запись дробной части числа выделена синим цветом).

110110 2 = 1*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +0*2 0 =54 10

66 8 =6*8 1 +6*8 0 =48+6=54 10 9A 16 =9*16 1 +10*16 0 =144+10=154 10

13,4 8 =1*8 1 +3*8 0 +4*8 -1 =8+3+0.5=11.5 10 (это число – десятичная дробь)

Задание3.

Перевести в десятичную СС следующие числа:

101,11 2 =5,75 10 1011001 2 1011,101 2

125,7 8 =86 10 1253 8 175,132 8

A19BA 16 =2585726… 10 16A3 16 2BAFD 16

Перевод чисел с основанием, являющимся степенью числа 2 и обратный перевод. К таким СС относятся двоичная, восьмеричная, шестнадцатеричная системы счисления.



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

10.000.101 2 =205 8

111.000.101.100 2 =7054 8

1.011.001.101 2 =1315 8

Правило. Для обратного преобразования каждая восьмеричная цифра записывается в виде триады.

Правило. Из двоичной СС в шестнадцатеричную СС: аналогично, но отделяем по 4 цифры

0110.0110.1011 2 =66B 16

1011.1111.0111 2 =BF7 16

10.1010.0111.0001 2 =2A71 16

Правило. Для обратного преобразования каждая шестнадцатеричная цифра записывается в виде тетрады.

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

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

1) необходимо отделить вертикальной чертой дробную часть;

2) умножить дробную часть на основании новой системы счисления;

3) результат записать строго под исходным числом, начиная с младшего разряда; если получится перенос в целую часть, то записать ее слева от черты;

4) умножение дробной части проводится до тех пор пока не будет получено число с заданной точностью, либо справа от черты не будет 0.

0,728 10 =0,564 8

Задание 4. Перевести из десятичной СС в двоичную, восьмеричную, шестнадцатеричную СС следующие правильные дроби: .

В одном из наших материалов мы рассмотрели определение . Оно имеет самый короткий алфавит. Только две цифры: 0 и 1. Примеры алфавитов позиционных систем счисления приведены в таблице.

Позиционные системы счисления

Название системы

Основание

Алфавит

Двоичная

Троичная

Четверичная

Пятеричная

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

Десятичная

0,1,2,3,4,5,6,7,8,9

Двенадцатеричная

0,1,2,3,4,5,6,7,8,9,А,В

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

0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F

Тридцатишестиричная

0,1,2,3,4,5,6,7,8,9,А,В,С,D,E,F,G, H,I,J,K,L,M,N,O,P,R,S,T,U,V,X,Y,Z


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

Таблица перевода десятичных чисел от 0 до 20 в двоичную систему счисления.

десятичное

число

двоичное число

десятичное

число

двоичное число


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


Как сделать перевод из одной системы счисления в другую? В информатике существует несколько простых способов перевода десятичных чисел в двоичные числа. Рассмотрим два из них.

Способ №1.

Допустим, требуется перевести число 637 десятичной системы в двоичную систему.


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


В нашем случае это 9, т.к. 2 9 =512 , а 2 10 =1024 , что больше нашего начального числа. Таким образом, мы получили число разрядов результата. Оно равно 9+1=10. Значит, результат будет иметь вид 1ххххххххх, где вместо х может стоять 1 или 0.


Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 637-2 9 =125. Затем сравниваем с числом 2 8 =256 . Так как 125 меньше 256, то девятый разряд будет 0, т.е. результат уже примет вид 10хххххххх.


2 7 =128 > 125 , значит и восьмой разряд будет нулём.


2 6 =64 , то седьмой разряд равен 1. 125-64=61 Таким образом, мы получили четыре старших разряда и число примет вид 10011ххххх.


2 5 =32 и видим, что 32 < 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.


2 4 =16 < 29 - пятый разряд 1 => 1001111ххх. Остаток 29-16=13.


2 3 =8 < 13 => 10011111хх. 13-8=5


2 2 =4 < 5 => 10011111хх, остаток 5-4=1.


2 1 =2 > 1 => 100111110х, остаток 2-1=1.


2 0 =1 => 1001111101.


Это и будет конечный результат.

Способ №2.

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

  1. Разделим a n−1 a n−2 ...a 1 a 0 =a n−1 ⋅2 n−1 +a n−2 ⋅2 n−2 +...+a 0 ⋅2 0 на 2.
  2. Частное будет равно an−1 ⋅2n−2+...+a1 , а остаток будет равен
  3. Полученное частное опять разделим на 2, остаток от деления будет равен a1.
  4. Если продолжить этот процесс деления, то на n-м шаге получим набор цифр: a 0 ,a 1 ,a 2 ,...,a n−1 , которые входят в двоичное представление исходного числа и совпадают с остатками при его последовательном делении на 2.
  5. Таким образом, для перевода целого десятичного числа в двоичную систему счисления нужно последовательно выполнять деление данного числа и получаемых целых частных на 2 до тех пор, пока не получим частное, которое будет равно нулю.

Исходное число в двоичной системе счисления составляется последовательной записью полученных остатков. Записывать его начинаем с последнего найденного.


Переведём десятичное число 11 в двоичную систему счисления. Рассмотренную выше последовательность действий (алгоритм перевода) можно изобразить так:


Получили 11 10 =1011 2 .

Пример:

Если десятичное число достаточно большое, то более удобен следующий способ записи рассмотренного выше алгоритма:



363 10 =101101011 2



Похожие статьи