2.6.2. ДРОБНЫЕ ЧИСЛА

Дробные числа преобразуются иными методами, а именно умножением. Умножению подвергаем только дробную часть до тех пор пока она не исчезнет. Продемонстрируем преобразование числа 0,12510 и 0,110 в двоичную систему счисления:

 

×

0,125

×

0,1

2

2

×

0,250

×

0,2

2

2

×

0,500

×

0,4

2

2

 

1,000

×

0,8

 

 

2

 

 

×

1,6*

 

 

2

 

 

×

1,2

 

 

2

 

 

 

0,4

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

(* - умножению подлежит только дробная часть числа, поэтому - 0,6·2=1,2)

 

Разрядами двоичного числа будут целые части чисел, образующихся при умножении. Первый «ноль» в исходном числе это «ноль» в целой части, а остальные - разряды двоичного числа. Поэтому имеем 0,12510 → 0,0012. Во втором случае наблюдается зацикливание расчетов, таким образом, расчеты дают двоичное число с бесконечной дробной частью (иррациональное число) которое записывается следующим образом 0,000110011(0011)…

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

Обратный перевод осуществляется похожим образом, что и для целых чисел, но степени в выражении будут отрицательные:

 

 

-1

-2

-3

0,

0

0

1

Произведем сложение разрядов с учетом их степеней:

 

-1

-2

-3

-4

-5

-6

-7

-8

-9

0,

0

0

0

1

1

0

0

1

1

Произведем сложение разрядов с учетом их степеней:

 

Результат лишь примерно равен исходному числу (см. прим. выше)