Шрифт:
Интервал:
Закладка:
Двоичная система тоже позволяет записывать дробные значения. Каждую следующую цифру после запятой[36] мы умножаем на предыдущую степень двойки. Например, 101,0112 означает:
Непривычный способ записать одну вторую: 0,12!
Есть и другие системы счисления, помимо десятичной, единичной и двоичной[37]. В третичной системе мы пользуемся цифрами 0, 1 и 2, здесь все строится на степенях тройки. Скажем, 11023 означает:
1 × 27 + 1 × 9 + 0 × 3 + 2 × 1 = 38.
В дробях первая позиция справа от запятой означает умножение на одну третью, вторая позиция – на одну девятую и т. д.:
Ответ на задачу в разделе «Компромисс»
Если представить 42 в виде суммы степеней двойки, мы увидим, что это 1010102. А число 110112 можно представить как 16 + 8 + 2 + 1 = 27.
Безусловно, простейший способ записать число один – это цифра 1. Но вы можете столкнуться с тем фактом, что уходящая в бесконечность десятичная дробь 0,999999… представляет собой другой способ записи того же числа. В главе 3 мы присмотримся к этому обстоятельству повнимательнее.
Что означают десятичные числа?
Привычная нам десятичная система счисления удобна и работает отменно, почти без перебоев. Она хорошо подходит для записи целых чисел. 235 – это компактный способ сказать «две сотни, три десятка и пять единиц». Или, на языке математики:
235 = 2 × 100 + 3 × 10 + 5 × 1.
Для некоторых дробных величин десятичная система счисления также чрезвычайно эффективна. Возьмем число 3/4. В десятичной системе его можно записать так: 0,75. Эта запись означает:
Десятичная дробь 0,75 в точности равна 3/4.
Тем не менее если мы предпримем попытку записать 2/7 в виде десятичной дроби, то потерпим фиаско. Если мы попробуем разделить два на семь с помощью калькулятора, то получим неприглядное 0,28571429, причем это будет лишь приближенное значение, не равное в точности 2/7.
Такие числа, как 3/8, могут быть представлены в виде десятичной дроби, потому что знаменатель в них легко представить в виде одной из степеней десятки: 3/8 = 375/1000. Но нельзя найти целое число A, для которого выполнялось бы условие:
так как это подразумевает 2 × 10ⁿ = 7 × A. Ни одно целое число A не подходит в качестве решения уравнения, потому что левая сторона не делится на 7, а правая сторона делится. Представить 2/7 в качестве десятичной дроби невозможно. Если только не…
Десятичные дроби с бесконечным числом символов
Идея десятичной дроби с бесконечным числом символов содержит в себе один подвох, и сейчас мы выясним, какой именно. Вернемся к началу главы: что означает 0,99999… и почему оно равно 1?
Для начала давайте представим 0,999999… не как одно число, а как ряд чисел, где каждое следующее – это предыдущее с приделанной справа цифрой 9. Вот как выглядит такой ряд:
0,9 0,99 0,999 0,9999 … (*)
и так далее ad infinitum[38]. Ясно, что элементы ряда (*) постоянно возрастают. Каждый следующий элемент пусть ненамного, но больше предыдущего.
Докажем два факта:
1. Все элементы возрастающего ряда (*) меньше 1.
2. Тем не менее для любого числа x, которое меньше 1, рано или поздно отыщется элемент ряда (*), превышающий x.
Представим элементы ряда (*) в виде обыкновенных дробей:
Есть компактный способ записать эти дроби. Знаменатели представляют собой степени десяти: 101, 10², 10³ и т. д. Каждый числитель на единицу меньше соответствующего ему знаменателя. Перепишем ряд снова:
Очевидно, что n-ный элемент ряда будет выглядеть так:
Легко убедиться, что все члены ряда (*) меньше 1, потому что числитель всякий раз оказывается меньше знаменателя.
Теперь докажем второе утверждение: если число x меньше 1, рано или поздно найдется элемент ряда (*), превышающий x.
Так как x меньше 1, разность (1 – x) положительна. Даже если x невероятно близок к единице, разница между ними будет мизерная, но положительная. Умножим (1 – x) на одну из степеней десяти:
10ⁿ × (1 – x).
Так как разность (1 – x) положительна, это произведение будет больше 1, если 10ⁿ достаточно велико[39]:
10ⁿ × (1 – x) > 1.
Раскроем скобки:
10ⁿ – 10ⁿx > 1,
перенесем 1 в левую часть, а 10ⁿx в правую: