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

| 6 классы | Планирование уроков на учебный год | Перевод двоичных чисел в десятичную систему счисления

Урок 5
Перевод двоичных чисел в десятичную систему счисления
Работа с приложением Калькулятор





Перевод целых десятичных чисел в двоичный код

Способ 1

Попробуем представить число 1409 в виде суммы членов второго ряда.

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

1409 - 1024 = 385.

Возьмем ближайший к полученной разности, но не превосходящий ее член второго ряда и составим разность:

385 - 256 = 129.

Аналогично составим разность: 129 - 128 = 1.

В итоге получим:

1409 = 1024 + 256 + 128 + 1 = 1 1024 + 0 512 + 1 256 + + 1 128 + 0 64 + 0 32 + 0 16 + 0 8 + 0 4 + 0 2 + 1 1.

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


Числа 1 и 0, на которые умножаются члены второго ряда, также составляют исходное число 1409, но в его другой, двоичной записи: 10110000001.

Результат записывают так:

1409 10 = 10110000001 2 .

Исходное число мы записали с помощью 0 и 1, другими словами, получили двоичный код этого числа, или представили число в двоичной системе счисления.

Способ 2

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

Пример:


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

В ячейках нижней строки записаны остатки от деления стоящих в верхней строке чисел на 2.

Последняя ячейка нижней строки остается пустой. Двоичный код исходного десятичного числа получается при последовательной записи всех остатков, начиная с последнего: 1409 10 = 10110000001 2 .

Первые 20 членов натурального ряда в двоичной системе счисления записываются так: 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011,1100, 1101,1110,1111, 10000. 10001. 10010. 10011. 10100. 

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

Способ 1

Пусть имеется число 111101 2 . Его можно представить так:

Способ 2

Возьмем то же число 111101 2 . Переведем единицу 6-го разряда (первая слева в записи числа) в единицы 5-го разряда, для чего 1 умножим на 2, ибо единица 6-го разряда в двоичной системе содержит 2 единицы 5-го разряда.

К полученным 2 единицам 5-го разряда прибавим имеющуюся единицу 5-го разряда. Переведем эти 3 единицы 5-го разряда в 4-й разряд и прибавим имеющуюся единицу 4-го разряда: 3 2 + 1 = 7.

Переведем 7 единиц 4-го разряда в 3-й разряд и прибавим имеющуюся единицу 3-го разряда: 7 2 + 1 = 15.

Переведем 15 единиц 3-го разряда во 2-й разряд: 15 2 = 30. В исходном числе во 2-м разряде единиц нет.

Переведем 30 единиц 2-го разряда в 1-й разряд и прибавим имеющуюся там единицу: 30 2 + 1 = 61. Мы получили, что исходное число содержит 61 единицу 1-го разряда.

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

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

Проведем небольшой эксперимент .

1. Запустите приложение Калькулятор и выполните команду [Вид-Инженерный] . Обратите внимание на группу переключателей, определяющих систему счисления :

2. Убедитесь, что Калькулятор настроен на работу в десятичной системе счисления. С помощью клавиатуры или мыши введите в поле ввода произвольное двузначное число. Активизируйте переключатель Bin и проследите за изменениями в окне ввода. Вернитесь в десятичную систему счисления. Очистите поле ввода.

3. Повторите пункт 2 несколько раз для других десятичных чисел.

4. Настройте Калькулятор на работу в двоичной системе счисления. Обратите внимание на то, какие кнопки Калькулятора и цифровые клавиши клавиатуры вам доступны. Поочередно введите двоичные коды 5-го, 10-го и 15-го членов натурального ряда и с помощью переключателя Dec переведите их в десятичную систему счисления.

Фраза о том, что все новое - это не что иное, как хорошо забытое старое, в полной мере относится к Оказывается, что еще в древнем Китае уже применяли нечто, напоминающее наши «единичка-нолик», правда не для арифметики, а для написания текстов книги Перемен. Ближе всех к пониманию разных систем счисления были инки: они использовали и десятичную, и двоичную системы, правда, последнюю только для текстовых и кодированных сообщений. Можно предположить, что уже тогда, 4 тыс. лет назад, инки знали, как делается перевод из двоичной в десятичную систему.

Современный вариант был предложен Лейбницем всего-то около 300 лет назад, а спустя еще полтора века оставил свое имя в памяти потомков работой по алгебре логики. Двоичная арифметика совместно с алгеброй логики стала фундаментом нынешней цифровой техники. А началось все в 1937 году, когда был предложен метод символического анализа релейных и переключательных схем. Эта работа Клода Шенона стала «мамой» для релейного компьютера, выполнявшего двоичное сложение уже в 1937 году. И, конечно же, одной из задач этого «прадедушки» современных компьютеров был перевод из двоичной в десятичную систему.

Прошло всего три года и очередная модель релейного «компьютера» посылала команды калькулятору используя телефонную линию и телетайп - ну прямо древний интернет в действии.

Что же представляют собой двоичная, десятичная, шестнадцатеричная и, вообще говоря, любая N-ичная система? Да ничего сложного. Возьмем трехзначное число в нашей любимой десятичной системе, оно изображается при помощи 10 знаков - от 0 до 9 с учетом их расположения. Определимся, что цифры этого числа находятся на позициях 0, 1, 2 (порядок идет от последней цифры к первой). На каждой из позиций может находиться любое из чисел системы, однако величина этого числа определяется не только его начертанием, но и местом положения. Например, для числа 365 (соответственно, позиция 0 - цифра 5, позиция 1 - цифра 6, и позиция 2 - цифра 3) значение числа на нулевой позиции - просто 5, на первой позиции - 6*10, и на второй - 3*10*10. Здесь любопытно, что начиная с первой позиции, число содержит значащую цифру (от 0 до 9) и основание системы в степени равной номеру позиции, т.е. можно записать, что 345 = 3*10*10 + 6*10 +3 = 3*102 + 6*101 + 5*100.

Еще пример:

260974 = 2*105 + 6*104 + 0*103 + 9*102 + 7*101 + 4*100.

Как видим, каждое позиционное место содержит значащее число из набора данной системы, и множитель из основания системы в степени равной позиции данного числа (разрядность числа это есть количество позиций, но на +1 больше).

С точки зрения представления числа, его двоичная форма озадачивает своей простотой - только 2 числа в системе - 0 и 1. Но красота математики в том, что даже в усеченном виде, как может показаться, двоичные числа такие же полноценные и равноправные, как и их более «рослые товарищи». Но как же их сравнивать, например, с десятичным числом? Как вариант, нужно сделать, и не торопясь, перевод из двоичной в десятичную. Задачу не назовешь трудной, но эта кропотливая работа требует внимания. Итак, начнем.

Исходя из сказанного выше о порядке представления чисел в любой системе, и имея в виду простейшую из них - двоичную, возьмем любую последовательность «единичек-ноликов». Назовем это число VO (по-русски ВО), и попробуем узнать, что это такое - перевод из двоичной в десятичную систему. Пусть это будет VO=11001010010. На первый взгляд, число как число. Посмотрим!

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

VO = 1 1 0 0 1 0 1 0 0 1 0;

VO = 1*210 + 1*29 + 0*28 + 0*27 + 1*26 + 0*25 + 1*24 + 0*23 + 0*22 + 1*21 + 0*20;

VO=1*1024 + 1*512+0*256+0*128+ 1*64 + 0*32 + 1*16 + 0*8 +0*4 + 1*2 + 0*1.

Вычисляем «арифметику» в третьей строке и имеем то, что искали: VO = 1618. Ну и что же тут замечательного? А то, что это число - самое знаменитое из всех, которые известны людям: с ним связаны пропорции египетских пирамид, знаменитой Джоконды, музыкальных нот и человеческого тела, но… Но с небольшим уточнением - зная, что хорошего должно быть много, его величество случай дал нам это число в 1000 раз больше настоящего значения - 1,618. Наверное, чтобы всем досталось. А попутно перевод из двоичной системы в десятичную помог из бесконечного моря чисел «выловить» самое замечательное - его еще называют «золотая пропорция».

В одном из наших материалов мы рассмотрели определение . Оно имеет самый короткий алфавит. Только две цифры: 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



Замечание 1

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

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

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

    При переводе двоичного числа в десятичное требуется представить двоичное число в виде многочлена , каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $2$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_2=A_n \cdot 2^{n-1} + A_{n-1} \cdot 2^{n-2} + A_{n-2} \cdot 2^{n-3} + ... + A_2 \cdot 2^1 + A_1 \cdot 2^0$

Рисунок 1. Таблица 1

Пример 1

Число $11110101_2$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $1$ степеней основания $2$, представим число в виде многочлена:

$11110101_2 = 1 \cdot 27 + 1 \cdot 26 + 1 \cdot 25 + 1 \cdot 24 + 0 \cdot 23 + 1 \cdot 22 + 0 \cdot 21 + 1 \cdot 20 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 1 = 245_{10}$

    Для перевода числа из восьмеричной системы счисления в десятичную требуется представить его в виде многочлена, каждый элемент которого представлен в виде произведения цифры числа и соответствующей степени числа основания, в данном случае $8$, а затем нужно вычислить многочлен по правилам десятичной арифметики:

    $X_8 = A_n \cdot 8^{n-1} + A_{n-1} \cdot 8^{n-2} + A_{n-2} \cdot 8^{n-3} + ... + A_2 \cdot 8^1 + A_1 \cdot 8^0$

Рисунок 2. Таблица 2

Пример 2

Число $75013_8$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $2$ степеней основания $8$, представим число в виде многочлена:

$75013_8 = 7\cdot 8^4 + 5 \cdot 8^3 + 0 \cdot 8^2 + 1 \cdot 8^1 + 3 \cdot 8^0 = 31243_{10}$

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

    $X_{16} = A_n \cdot 16^{n-1} + A_{n-1} \cdot 16^{n-2} + A_{n-2} \cdot 16^{n-3} + ... + A_2 \cdot 16^1 + A_1 \cdot 16^0$

Рисунок 3. Таблица 3

Пример 3

Число $FFA2_{16}$ перевести в десятичную систему счисления.

Решение. Используя приведенную таблицу $3$ степеней основания $8$, представим число в виде многочлена:

$FFA2_{16} = 15 \cdot 16^3 + 15 \cdot 16^2 + 10 \cdot 16^1 + 2 \cdot 16^0 =61440 + 3840 + 160 + 2 = 65442_{10}$

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

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

Пример 4

Число $22_{10}$ перевести в двоичную систему счисления.

Решение:

Рисунок 4.

$22_{10} = 10110_2$

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

Пример 5

Число $571_{10}$ перевести в восьмеричную систему счисления.

Решение:

Рисунок 5.

$571_{10} = 1073_8$

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

Пример 6

Число $7467_{10}$ перевести в шестнадцатеричную систему счисления.

Решение:

Рисунок 6.

$7467_{10} = 1D2B_{16}$

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

    Например: $0,3125_{(10)}$ в восьмеричной системе счисления будет выглядеть как $0,24_{(8)}$.

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

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

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

Рисунок 7. Таблица 4

Пример 7

Число $1001011_2$ перевести в восьмеричную систему счисления.

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

$001 001 011_2 = 113_8$

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

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

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

Например, нужно перевести число 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 .