Ponnnnnnnnnn
Мастер
(1367)
2 месяца назад
Начнем с двоичных чисел. Чтобы найти число, следующее за 11112, мы просто добавляем 1 к наименьшему значащему биту. Поскольку в двоичной системе после 1 всегда идет 0, и мы имеем четыре единицы подряд, следующее число будет иметь пять нулей и одну единицу в начале, то есть 100002.
Теперь рассмотрим число 1010112. Добавляя 1, мы получаем 1011002, так как последние два бита меняются с 11 на 00, а предыдущий бит меняется с 0 на 1, чтобы сохранить наименьшее возможное значение при инкременте.
Числа, предшествующие данным:
Для числа 102, чтобы найти предыдущее число, мы вычитаем 1 из наименьшего значащего бита. Поскольку последний бит равен 0, он становится 1, а предыдущий бит, который равен 1, становится 0. Таким образом, предыдущее число для 102 будет 12.
Для числа 101002, чтобы найти предыдущее число, мы смотрим на самый правый бит, равный 1, и меняем его на 0, а все биты справа от него на 1. Это дает нам 100112.
Перевод чисел в десятичную систему и обратный перевод:
Теперь давайте переведем число 10110112 в десятичную систему. Каждый бит представляет собой степень двойки, начиная с 2^0 для самого правого бита. Складывая значения, получаем:
1*(2^7) + 0*(2^6) + 1*(2^5) + 1*(2^4) + 0*(2^3) + 1*(2^2) + 1*(2^1) + 1*(2^0) = 128 + 0 + 32 + 16 + 0 + 4 + 2 + 1 = 183.
Обратный перевод из 183 в двоичную систему дает нам 1011011, что совпадает с исходным числом.
Для числа 110100,112, двоичная запятая соответствует десятичной запятой. Переводим целую часть и дробную часть отдельно:
Целая часть: 1*(2^6) + 1*(2^5) + 0*(2^4) + 1*(2^3) + 0*(2^2) + 0*(2^1) + 0*(2^0) = 64 + 32 + 0 + 8 + 0 + 0 + 0 = 104.
Дробная часть: 1*(1/2) + 1*(1/4) + 1*(1/8) = 0.5 + 0.25 + 0.125 = 0.875.
Таким образом, число в десятичной системе будет 104.875.
Обратный перевод из 104.875 в двоичную систему дает нам 110100.111, что очень близко к исходному числу, за исключением того, что двоичное представление дробной части бесконечно.
Перевод чисел из десятичной системы в двоичную и обратный перевод:
Для числа 37,2510:
Целая часть переводится путем деления на 2 и записи остатка, пока результат не станет равным 0:
37 / 2 = 18 остаток 1
18 / 2 = 9 остаток 0
9 / 2 = 4 остаток 1
4 / 2 = 2 остаток 0
2 / 2 = 1 остаток 0
1 / 2 = 0 остаток 1
Получаем 100101.
Дробная часть переводится путем умножения на 2 и записи целой части результата:
0.25 * 2 = 0.5 → 0
0.5 * 2 = 1.0 → 1
Таким образом, дробная часть в двоичной системе будет 0.01.
Итак, 37,2510 в двоичной системе будет 100101.01.
Обратный перевод подтверждает исходное число.
Для числа 206,12510:
Целая часть:
206 / 2 = 103 остаток 0
103 / 2 = 51 остаток 1
51 / 2 = 25 остаток 1
25 / 2 = 12 остаток 1
12 / 2 = 6 остаток 0
6 / 2 = 3 остаток 0
3 / 2 = 1 остаток 1
1 / 2 = 0 остаток 1
Получаем 11001110.
Дробная часть:
0.125 * 2 = 0.25 → 0
0.25 * 2 = 0.5 → 0
0.5 * 2 = 1.0 → 1
Таким образом, дробная часть в двоичной системе будет 0.001.
Итак, 206,12510 в двоичной системе будет 11001110.001, что подтверждается обратным переводом.