Как производится перевод чисел в двоичную систему счисления?
Вопрос
Каким образом можно преобразовать числа из десятичной системы счисления в двоичную систему счисления? Хочу узнать подробные шаги и алгоритмы, которые позволят мне выполнить эту операцию.
Ответы ( 1 )
Хотя существует множество рекомендаций, на самом деле все очень просто. Любое число можно представить в виде суммы степеней двойки. Например, число 255 можно разложить следующим образом: 255 = 128+64+32+16+8+4+2+1 = 11111111. Также число 240 можно представить как 128+64+32+16 = 11110000, а число 5 как 4+1 = 101. Замечательно, что никто не объяснил, как перевести отрицательные числа в двоичную систему. Ведь отрицательные числа тоже числа, поэтому мы должны взять максимальную степень двойки в пределах, которых мы хотим перевести число. Например, если мы ограничиваемся 2 в 8-ой степени, то это равно 256. Давайте возьмем число -5, тогда 256-5=251 = 11111011. Таким образом, все числа от -128 до 127 включительно будут положительными, то есть 01111111 = +127, а остальные будут отрицательными. Например, 10000000 = 256-128 = -128! А что делать, если число, например, равно -30000? В этом случае нам просто нужно увеличить количество битов. Например, возьмем два байта: 2 в 16-ой степени равно 65536. -30000 = 65536-30000 = 35536. 35536/256=138 — старший байт. 35536-(138*256)=208 — младший байт. Итак, 138 = 128+10 = 10001010, 208 = 13*16 = 11010000. Таким образом, -30000 = 1000101011010000! Но как насчет десятичных дробей? Это также очень просто! Мы умножаем десятичную дробь на степень двойки, например, 16: 65536*0,6464618=42.366. Затем целую часть числа представляем в двоичном виде: 1010010101111110. Чем выше степень двойки, тем точнее число. Конечно, здесь нам также нужно помнить про мантиссу и экспоненту, а также о форматах представления чисел в компьютерах.
Перевод чисел из десятичной системы счисления в двоичную представляет несколько вариантов. Многие из них представлены в виде схем, которые удобно использовать для вычислений. Наиболее логичным и запоминающимся способом является метод сложения «весов» двойки. Для этого необходимо записать все нужные значения степени двойки, которые многие математики, инженеры и программисты знают наизусть. Например, 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. Эти числа имеют особое значение и часто используются в различных областях.
Давайте теперь рассмотрим пример перевода числа из десятичной системы в двоичную. Предположим, что нам нужно перевести число 1727 в двоичную систему (специально выбрано число, которое меньше, чем в два раза больше, чем 1024, чтобы у нас было достаточно «весов»). Мы можем разложить это число на сумму «весов» двойки следующим образом: 1727=1024+703=1024+512+191=1024+512+128+63=1024+128+32+31=1024+128+32+16+15=1024+1*1+512*1+256*0+128*1+64*0+32*1+16*1+8*1+4*1+2*1+1*1. Здесь я не расписываю подробности для малых «весов». «Веса» двойки, которые входят в число, обозначаются как «1», а те, которые не входят, обозначаются как «0». Таким образом, 1727 в двоичной системе равно 11010111111.
Простое объяснение того, как перевести числа в двоичную систему. Это объяснение особенно понятно для детей. Представьте, что у вас есть различные монеты: по 256, 128, 64, 32, 16, 8, 4, 2 и 1. Расположите их в указанном порядке и используйте их, чтобы получить нужную вам сумму. Если вы используете монету, запишите под ней 1. Если какая-то монета не понадобилась, запишите под ней 0. В итоге, в нижней строке вы получите число в двоичной системе.
Перевод чисел из десятичной системы счисления в двоичную может быть выполнен с использованием следующего алгоритма:
1. Разделите исходное десятичное число на 2 и запишите частное и остаток.
2. Поделите полученное частное на 2 и снова запишите частное и остаток.
3. Продолжайте делить частное на 2 и записывать частное и остаток до тех пор, пока частное не станет равным нулю.
4. Запишите все полученные остатки в обратном порядке – это будет двоичное представление исходного числа.
Например, рассмотрим перевод числа 13 из десятичной системы счисления в двоичную:
13 ÷ 2 = 6, остаток 1
6 ÷ 2 = 3, остаток 0
3 ÷ 2 = 1, остаток 1
1 ÷ 2 = 0, остаток 1
Полученные остатки в обратном порядке составляют число 1101, которое является двоичным представлением числа 13.
Исходя из этого алгоритма, можно сформулировать более общий шаги для перевода числа из десятичной системы счисления в двоичную:
1. Начните с исходного числа в десятичной системе счисления.
2. Делите это число на 2 и записывайте остаток.
3. Продолжайте деление на 2 и записывание остатков до тех пор, пока не достигнете нулевого частного.
4. Запишите полученные остатки в обратном порядке – это будет двоичное представление исходного числа.
Таким образом, процесс перевода чисел из десятичной системы счисления в двоичную может быть выполнен с помощью деления и записи остатков, пока не будет достигнуто нулевое частное.
Для конвертации числа из десятичной системы в двоичную, следует последовательно делить число на 2 до тех пор, пока оно не станет равным нулю. Если число четное, оно делится на 2 без остатка. Если число нечетное, сначала от него вычитается единица, а затем оно делится на 2. Полученное четное число считается нулем, а нечетное — единицей. Например, для числа 55: 55 — нечетное 1 (55-1)/2=27 — нечетное 1 (27-1)/2=13 — нечетное 1 (13-1)/2=6 — четное 0 6/2=3 — нечетное 1 (3-1)/2=1 — нечетное 1 Результаты деления записываются в обратном порядке, начиная с последнего полученного значения. Таким образом, число 55 в двоичной системе будет записано как 110111, а не 111011.