Книга Код. Тайный язык информатики, страница 96. Автор книги Чарльз Петцольд

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «Код. Тайный язык информатики»

Cтраница 96

Число битов

Диапазон целых положительных чисел

Диапазон целых отрицательных чисел

8

От 0 до 255

От –128 до 127

16

От 0 до 65 535

От –32 768 до 32 767

32

От 0 до 4 294 967 295

От –2 147 483 648 до 2 147 483 647

Однако на этом мы и остановились. Помимо целых чисел математики также различают рациональные числа, которые могут быть представлены в качестве отношения двух целых чисел. Это отношение также называется дробью. Например, дробь ¾ — рациональное число, отношение чисел 3 и 4. Это число также можно записать в виде десятичной дроби: 0,75. Десятичная дробь остается отношением двух чисел, в данном случае 75/100.

В главе 7 рассказывалось, что в десятичной системе счисления цифры слева от десятичного разделителя являются множителями целых положительных степеней числа 10, а цифры справа — множителями целых отрицательных степеней числа 10. В одном из примеров я показал, что число 42 705,684 равно:

4 × 10 000 +

2 × 1000 +

7 × 100 +

0 × 10 +

5 × 1 +

6 ÷ 10 +

8 ÷ 100 +

4 ÷ 1000.

Обратите внимание на знаки деления. Затем я представил эту последовательность операций без деления:

4 × 10 000 +

2 × 1000 +

7 × 100 +

0 × 10 +

5 × 1 +

6 × 0,1 +

8 × 0,01 +

4 × 0,001.

И наконец, отобразил это число, используя степени числа 10:

4 × 104 +

2 × 103 +

7 × 102 +

0 × 101 +

5 × 100 +

6 × 10–1 +

8 × 10–2 +

4 × 10–3.

Существуют рациональные числа, которые не так легко представить в виде десятичной дроби, например ⅓. Если вы разделите 1 на 3, то получите следующее.

0,33333333333333333333333333333333333333333333333333333…

И так до бесконечности. Подобная дробь называется периодической и записывается 0,(3). Несмотря на то что запись числа ⅓ в виде десятичной дроби выглядит неуклюже, это число по-прежнему является рациональным, поскольку это отношение двух целых чисел. Вот еще один пример: отношение 1/7 можно записать в виде десятичной дроби.

0,1428571428571428571428571428571428571428571428571428571…

Или Код. Тайный язык информатики

Иррациональные числа — это числа, которые нельзя выразить в виде отношения двух целых чисел, значит, десятичная дробь продолжается бесконечно без повторяющихся последовательностей цифр. К числам такого типа относится квадратный корень из 2.

√2 ≈ 1,41421356237309504880168872420969807856967187537695…

Квадратный корень из 2 — решение следующего алгебраического уравнения:

x2 – 2 = 0.

Если число не является решением какого-либо алгебраического уравнения с целочисленными коэффициентами, оно называется трансцендентным. (Все трансцендентные числа иррациональны, однако не все иррациональные числа трансцендентны.) К трансцендентным числам относится число π, представляющее отношение длины окружности к ее диаметру и приблизительно равное следующему.

3,1415926535897932846264338327950288419716939937511…

Еще одним трансцендентным числом является e, к которому стремится выражение:

Код. Тайный язык информатики

при n, стремящемся к бесконечности. Данное число приблизительно равно следующему.

2,71828182845904523536028747135266249775724709369996…

Все числа, о которых мы говорили, то есть рациональные и иррациональные, называются действительными, или вещественными. Это обозначение отличает их от мнимых — квадратных корней из отрицательных чисел. Комплексные числа — это комбинации мнимых и вещественных чисел. Несмотря на свое название, мнимые числа существуют и используются, например при решении некоторых сложных задач по электронике.

Мы привыкли считать, что числовой ряд непрерывен. Если вы дадите два рациональных числа, я определю, какое число находится между ними. Для этого достаточно найти их среднее арифметическое. Однако цифровые компьютеры не могут работать с континуумами. Биты могут быть равны либо 0, либо 1, между которыми нет больше никаких значений. Так что цифровые компьютеры могут иметь дело только с дискретными значениями. Количество дискретных значений, которые вы можете представить, напрямую связано с количеством доступных битов. Например, в ячейках емкостью 32 бита можно хранить положительные целые числа в диапазоне от 0 до 4 294 967 295. При необходимости сохранить значение 4,5 придется пересмотреть этот подход и действовать иначе.

Можно ли представить дробные значения в двоичном формате? Да, можно. Вероятно, самый простой подход — использование двоично-десятичного кода (BCD). Как говорилось в главе 19, кодировка BCD позволяет записать десятичные числа в двоичном формате. Для кодирования каждой десятичной цифры (0, 1, 2, 3, 4, 5, 6, 7, 8 и 9) требуется четыре бита.

Десятичная цифра

Двоичное значение

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

Формат BCD особенно полезен в компьютерных программах, которые работают с денежными суммами. Самые очевидные примеры — программы для банков и страховых компаний; многие дробные числа в них предусматривают не более двух знаков после десятичного разделителя.

Как правило, для хранения двух BCD-цифр достаточно одного байта. Такая система записи иногда называется упакованным кодом ВСD. В такой кодировке не используется дополнение до двух. По этой причине в случае упакованного кода BCD для указания того, является ли число положительным или отрицательным, обычно требуется дополнительный бит, называемый знаковым битом. Поскольку для хранения BCD-значения удобно выделять целое число байтов, под бит знака обычно отводится четыре или восемь бит памяти.

Вход
Поиск по сайту
Ищем:
Календарь
Навигация