Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ в рекламе лекции.doc
Скачиваний:
99
Добавлен:
17.04.2014
Размер:
1.58 Mб
Скачать

2.6. Кодирование числовых данных

Числовые данные могут быть записаны в кодировках ASCII и Unicode, но там они просто являются частью текста. Проведение вычислений в этом случае невозможно. Есть программы для проведения вычислений: Excel и др. Но там от пользователя не требуется каких-либо знаний о кодировке чисел, он просто вводит в программу те или иные значения, действия с ними и получает результат.

Знания основ представления чисел в компьютере становятся необходимы при программировании. Например, при работе с вычислениями в таких платформах как Java или Си. Чаще всего используются 2 вида чисел: целые и вещественные (последние имеют дробную часть).

2.6.1. Целочисленные типы.

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

Пользователь может вводить целочисленные данные в десятичной или шестнадцатеричной системе, в последнем случае перед числом ставится метка $. Оба варианта в компьютере преобразуются в двоичную форму.

Например, запись $20 в десятичной системе будет означать 32.

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

Как правило одним битом кодируется знак числа (0 для отрицательного числа, 1 для положительного), остальные идут на запись цифр. В любом типе число всегда записывается одинаковым числом бит/байт, незадействованные места заполняются нулями.

Целочисленные типы языка Паскаль

Тип

Диапазон чисел

Требуемая память (байт)

Byte

0 … 255

1

Shortint

-128 … 127

1

Integer

-32768 … 32767

2

Word

0 … 65535

2

Longint

-2147483648 … 2147483647

4

Самый распространенный целочисленный тип – Integer. Здесь для записи значения отводится 15 бит.

Например, +1 будет записано как 1000 0000 0000 0001; -3 как 0111 1111 1111 1100 ; -32760 как 0000 0000 0000 1010; 1023 как 1000 0011 1111 1111.

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

2.6.2. Вещественные типы.

В тех случаях, когда в компьютере надо выполнять обычные математические операции с числовыми данными, применяются действительные числа, которые могут иметь как целую, так и дробную часть.

Перед введением в компьютер их предварительно приводят к единому виду, в так называемую нормализованную форму. Более распространенной название – числа с плавающей запятой.

В нормализованной форме число является произведением двух частей: мантиссы и характеристики. Мантисса – набор цифр в числе. Характеристика ­– показатель степени при мантиссе. Показатель степени ставят такой, чтобы мантисса находилась в пределах:

10 > мантисса > 1

Примеры: 3,1415926= 3,1415926 • 10 0, другая форма записи: 3,1415926Е0

-300 000 = -3 • 10 5, или -3Е5

0,00001234 = 1,234 • 10 -5, или 1,234Е-5

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

Вещественные типы языка Паскаль

Тип

Диапазон чисел

Мантисса (знаков)

Требуемая память (байт)

Real

2,9∙10-39 … 1,7∙1038

11 – 12

6

Single

1,5∙10-45 … 3,4∙1038

7 – 8

4

Double

5,0∙10-324 … 1,7∙10308

15 – 16

8

Extended

1,9∙10-4951 … 1.1∙104932

19 – 20

10

Comp

-2+63 + 1 … 2+63 - 1

10 – 20

8

Рассмотрим структуру записи чисел в двоичной форме на примере наиболее часто употребляемого типа Real.

Для хранения характеристики необходимо отвести один байт или 8 бит. Один бит пойдет на знак характеристики: плюс обозначается 1, а минус как 0. А остальное может быть отведено на показатель степени. От -39 до +38 получается 78 показателей степени, на эту совокупность 7 бит много. Но возможны какие-то особые случаи, например запись нуля.

Остальные 5 байт должно быть отведено для мантиссы. Оценка показывает, что для 11-12 знаков мантиссы как раз необходимо 5 байт или 39 бит.

Так, число 123456789012 в двоичном представлении будет иметь вид:

11100 10111110 10011001 00011010 00010100, эта запись занимает 37 бит.

А запись числа 987654321098 займет уже 40 бит.