Главная Обратная связь

Дисциплины:






Преобразование десятичных чисел в двоичные.



 

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

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

2. Результат деления на первом шаге необходимо еще раз разделить на 2. Остаток (0 или 1) используется в качестве значения следующего по значимости разряда. В данном случае частное от деления 28 на 2 равно 14, а остаток, т. е. значение 2-го разряда, равно нулю.

3. Результат деления на предыдущем шаге необходимо разделить на 2, а значение остатка присвоить очередному разряду. В данном случае частное от деления 14 на 2 равно 7, а остаток - 0 (значение 3-го разряда).

4. Шаги описанной процедуры повторяются до тех пор, пока частное, полученное в результате очередной операции деления, не станет равным нулю. Тогда остаток от последнего деления используется в качестве значения старшего значащего разряда (СЗР).

 

Деление Частное Остаток

 

57/2 28 1 (МЗР)

28/2 14 0

14/2 7 0

7/2 3 1

3/2 1 1

1/2 0 1 (СЗР)

Результат 57 дес. = 111001 дв.

 

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

Процедуру преобразования десятичной дроби в двоичную рассмотрим на примере преобразования числа 0,375.

1. Преобразование осуществляется умножением дроби на основание системы счисления, в которой дробь должна быть представлена. В данном случае умножаем на два: 0,375 * 2 = 0,75.

2. Если результат умножения меньше 1, то старшему значащему разряду присваивается значение 0; если больше 1, то присваивается 1. Поскольку 0,75 < 1, то СЗР = 0.

3. Результат предыдущей операции умножения опять умножается на 2. Заметим, что если бы результат предыдущей операции умножения был бы больше 1, то в данной операции умножения участвовала лишь его дробная часть. В данном случае 0,75 * 2 = 1,5.

4. Если полученный результат меньше 1, то следующему по значимости (ближайшему справа) разряду присваивается значение 0; если равен или больше 1, то присваивается 1. В рассматриваемом примере 1,5 > 1, поэтому значение разряда 2 равно 1.



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

Следовательно, получена двоичная дробь 0.011.

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

 





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