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)…
Поскольку в памяти компьютера все числа могут быть только рациональными, то приходится полученное число округлять до заданной точности (необходимое число разрядов в ячейках памяти компьютера), что привносит ошибку. Таким образом, не все дробные числа, вводимые в десятичной системе счисления, представляются абсолютно точно в памяти компьютера.
Обратный перевод осуществляется похожим образом, что и для целых чисел, но степени в выражении будут отрицательные:
Произведем сложение разрядов с учетом их степеней: |
Произведем сложение разрядов с учетом их степеней: Результат лишь примерно равен исходному числу (см. прим. выше) |