Представление чисел в компьютере 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Представление чисел в компьютере



Целые числа могут представляться в компьютере без знака или со знаком.

Целые числа без знака. Целые числа без знака обычно зани­мают в памяти компьютера 1 или 2 байт и принимают в одно­байтовом формате значения от 000000002 до 111111112, ав дву­байтовом формате — от 00000000 000000002 до 11111111 111111112 (табл. 2.2).

Целые числа со знаком. Целые числа со знаком обычно занима­ют в памяти компьютера 1, 2 или 4 байт, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак «+» кодируется нулем, а «-» — единицей (табл. 2.3).

Рассмотрим особенности записи целых чисел со знаком на примере однобайтового формата, при котором для знака отво­дится один разряд, а для цифр абсолютной величины — семь раз­рядов.

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

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

Таблица 2.2 Диапазоны значений целых чисел без знака

 

Формат числа, байт Запись с порядком Обычная запись
  0...28- 1 0...255
  0...216-! 0...65535
Формат числа, байт Записьс порядком Обычная запись
  -27...27-1 -128... 127
  -2,5...215-1 -31 768... 32 767
  -231...231-1 -2 147483 648...2 147483 647

 

Число 1,о = 12: Число 12710 = 11111112:

0000000 10 1111111

Знак числа «-»| Знак числа «-»

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

Прямой код числа -1: Прямой код числа -127:

1ОООООоТ11111111

Знак числа «+»Знак числа «+»

Прямой код: в знаковый разряд помещается цифра 1, а в разряды цифровой части числа — двоичный код его абсолютной величины.

Обратный код получается инвертированием всех цифр дво­ичного кода, абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы — нулями.

Примеры.

Число:-1. Число:-127.

Код модуля числа: 00000001 Код модуля числа: 01111111

Обратный код числа: 11111110 Обратный код числа: 10000000

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

Дополнительный код числа -1: Дополнительный код числа -127:

Р

11111110 10000000

11111111 10 0 0 0 0 0 1

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

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

Вещественные числа. Вещественные числа (конечные и беско­нечные десятичные дроби) хранятся и обрабатываются в компь­ютере в формате с плавающей запятой. В этом случае положение запятой в записи числа может изменяться.

Формат чисел с плавающей запятой базируется на экспонен­циальной форме записи, в которой может быть представлено лю­бое число. Так, число А может быть представлено в виде

А = т- q",

где т — мантисса числа; q — основание системы счисления; п — порядок числа.

Для однозначности представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса от­вечает условию

1/я = \т\ < 1.

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

Примеры. Преобразуем числа в экспоненциальную форму с нормализованной мантиссой:

421,637 = 0,421637 • 103;

0,000286 = 0,286 • 10"4;

0,5 = 0,5-10°;

-25,25 = -2,525 • 102.

Число в форме с плавающей запятой занимает в памяти ком­пьютера 4 (число обычной точности) или 8 (число двойной точ­ности) байт. При записи числа с плавающей запятой выделяют разряды для хранения знака мантиссы, знака порядка, порядка и

мантиссы.

Арифметические операции. При сложении и вычитании чисел в формате с плавающей запятой сначала производится подготови­тельная операция выравнивания порядков. Порядок меньшего (по модулю) числа увеличивается до величины порядка большего (по модулю) числа. Для того чтобы величина числа не изменилась, мантисса уменьшается в такое же число раз (сдвигается в ячейке памяти вправо на число разрядов, равное разности порядков чисел).

После выполнения операции выравнивания одинаковые раз­ряды чисел оказываются расположенными в одних и тех же раз­рядах ячеек памяти. Теперь операции сложения и вычитания чи­сел сводятся к сложению или вычитанию мантисс.

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

Пример. Произвести сложение чисел 0,1 *23 и 0,1 • 25 в формате с плавающей запятой.

Произведем выравнивание порядков и сложение мантисс:

0,001 • 25

+ 0,100 -25

0,101 *25

При умножении чисел в формате с плавающей запятой поряд­ки складываются, а мантиссы перемножаются. При делении из порядка делимого вычитается порядок делителя, а мантисса де­лимого делится на мантиссу делителя.

Пример. Произвести умножение чисел 0,1 • 23 и 0,1 • 25 в форма­те с плавающей запятой.

После умножения будет получено число 0,01 • 28, которое пос­ле нормализации примет вид 0, 1 • 27.

2.1.7. Представление других видов информации в компьютере Все виды информации (текстовая, графическая, звуковая, ви­део-) кодируются в последовательности нулей и единиц. Рассмот­рим этот процесс более подробно.

Двоичное кодирование текстовой информации. Традиционно для кодирования одного символа используется количество информа­ции, равное 1 байт, которое составляет 8 бит (28 = 256), поэтому можно закодировать 256 различных символов.

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

Кодирование заключается в том, что каждому символу ставит­ся в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111.

Когда пользователь нажимает на клавиатуре клавишу с симво­лом, в память компьютера поступает последовательность из вось­ми электрических импульсов (двоичный код символа). Код символа хранится в оперативной памяти компьютера, где он занимает одну ячейку памяти.

В процессе вывода символа на экран компьютера производится обратный процесс — декодирование, т.е. преобразование кода символа в его изображение.

Присвоение символу конкретного кода — это вопрос соглаше­ния, которое фиксируется в кодовой таблице. Первые 33 кода (с О по 32) соответствуют не символам, а операциям (перевод стро­ки, ввод пробела и т.д.).

В качестве международного стандарта принята кодовая таблица ASCII (American Standard Code for Information Interchange) (рис. 2.1, а), кодирующая первую половину символов с числовыми кодами от 32 до 126.

Хронологически одним из первых стандартов кодирования рус­ских букв на компьютерах был КОИ8 («Код обмена информаци­ей, 8-битный»). Эта кодировка с середины 1980-х гг. стала исполь­зоваться в первых русифицированных версиях операционной си­стемы UNIX.

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

Рис. 2.1. Примеры кодировочных таблиц:

а — международная кодировка ASCII; б — кодировка СР1251

Наиболее распространенной в настоящее время является ко­дировка Microsoft Windows, обозначаемая СР1251 (от англ. Code page — кодовая страница) (рис. 2.1, б).

В конце 1990-х гг. появился новый международный стандарт Unicode, который отводит под один символ не 1 байт, а 2 байт, поэтому с его помощью можно закодировать не 256, а 65 536 раз­личных символов. Полная спецификация стандарта Unicode вклю­чает в себя все существующие, вымершие и искусственно создан­ные алфавиты мира, а также множество математических, музы­кальных, химических и прочих символов.

Двоичное кодирование графической информации. Графические изображения, хранящиеся в аналоговой (непрерывной) форме на бумаге, фото- и кинопленке, могут быть преобразованы в цифро­вой компьютерный формат путем пространственной дискретиза­ции. Это реализуется путем сканирования, результатом которого является растровое изображение. Растровое изображение состоит из отдельных точек — пикселов (от англ. picture element — элемент изображения), каждая из которых может иметь свой цвет.

Качество изображения определяется разрешающей способно­стью монитора, т. е. числом точек, из которых оно складывается. Чем больше разрешающая способность монитора, т. е. чем больше число строк растра и точек в строке, тем выше качество изобра­жения. В современных персональных компьютерах обычно исполь­зуются четыре основные разрешающие способности экрана: 640 х 480, 800 х 600, 1024 х 768 и 1280 х 1024 точки.

Цветные изображения формируются в соответствии с двоич­ным кодом цвета каждой точки, хранящимся в видеопамяти. Цвет­ные изображения могут иметь различную глубину цвета, которая задается используемым числом бит для кодирования цвета точки (табл. 2.4).

Цветное изображение на экране монитора формируется за счет смешивания трех базовых цветов: красного, зеленого и синего. Такая цветовая модель называется RGB-моделью (от англ. Red, Green, Blue — красный, зеленый, синий). Для получения богатой палит-

Таблица 2.4 Глубина цвета и число отображаемых цветов

 

  Глубина цвета Число отображаемых цветов (N)
  24= 16
    28 = 256
  16 (High Color) 216 = 65 536
24 (True Color) 224 = 16 777216
  32 (True Color) 232 = 4 294 967 296

Таблица 2.5 Формирование цветов при глубине цвета 24 бит

 

 

Цвет Интенсивность
Красный Зеленый Синий
Черный      
Красный      
Зеленый      
Синий      
Голубой      
Желтый      
Белый      

ры цветов базовым цветам могут быть заданы различные интен­сивности, Например, при глубине цвета в 24 бит на каждый из цветов выделяется по 8 бит, т. е. для каждого из цветов возможны 28 = 256 уровней интенсивности, заданных двоичными кодами (от минимальной — 00000000 до максимальной — 11111111) (табл. 2.5).

Для того чтобы на экране монитора формировалось изображе­ние, информация о каждой его точке (код цвета, точки) должна храниться в видеопамяти компьютера. Рассчитаем необходимый объем видеопамяти для одного из графических режимов, напри­мер с разрешением 800 х 600 точек и глубиной цве­та 24 бит на точку. Всего точек на экране: 800 • 600 = 480 000. Не­обходимый объем видеопамяти: 24 бит • 480 000 = 11 520 000 бит = = 1 440 000 байт = 1406,25 Кбайт = 1,37 Мбайт.

Двоичное кодирование звуковой информации. Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он громче для чело­века; чем больше частота сигнала, тем выше тон. Для того чтобы

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

Таким образом, непрерывная зависимость амплитуды сигнала от времени A(t) заменяется на диск­ретную последовательность уровней громкости.

Рис. 2.2. Сетка уровней квантования.

Дискретизация — процесс разбивания сигнала на отдельные составпяющие, взятые в. определенные тактовые моменты времени t0, I t2,… Рез четко определенные тактовые интервалы времени / (рис 2.2).

Квантование — замена отдельных составляющих исходного дис­кретного значения сигнала ближайшим уровнем квантования, сдвинутых друг относительно друга на промежуток, называемый шагом квантования:

д/0) = 2; Л(/,) = 5; A(t2) = 6; A(t3) = 6; A(U) = 5; A(t5) = 5; A(t6) = 6;

A(t7) = 6; A(h) = 5.

Кодирование — перевод значения уровня квантования в конк­ретный двоичный код, например:

2-0010; 6-0110; 6-0110; 5-0101; 5-0101; 6-ОНО; 6-0110; 5-0101; 4-0100.

Качество передаваемой информации при этом будет зависеть:

• от разрядности преобразования, т. е. числа двоичных разря­дов, которые будут использованы при кодировании соответству­ющего уровня;

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

Уровни громкости звука можно рассматривать как набор воз­можных состояний. Следовательно, чем большее число уровней громкости будет выделено в процессе кодирования, тем большее количество информации будет нести значение каждого уровня и тем более качественным будет звучание. Звуковые карты обеспе­чивают, например, 16-битную глубину кодирования звука, обес­печивая 216 = 65 536 уровней сигнала.

Кроме того, качество кодирования зависит и от числа точек измерения уровня сигнала за 1 с, т. е. частоты дискретизации (это значение изменяется от 8000 до 48 000).

Принято измерять частоту дискретизации в кГц (килогерцах): 1 кГц — это 1000 измерений в секунду.

Можно оценить информационный объем стереоаудиофайла Длительностью звучания 1 с при высоком качестве звука (16 бит, 48 кГц). Для этого число бит на одну выборку необходимо умно­жить на число выборок в 1 с и умножить на 2 (стереорежим):

16 бит • 48 000 -2=1 536 000 бит = 192 000 байт 187,5 Кбайт.

Информационный объем звукового файла длительностью 1 мин Приблизительно равен 11 Мбайт.

Контрольные вопросы

1.Чем отличаются позиционные системы счисления от непозицион­ных?

2.Какое количество информации несет в себе цифра восьмеричного числа?

3.Почему в компьютере используется двоичная система счисления?

4.В чем заключается преимущество экспоненциальной формы числа?

5.Как кодируются символы текста?

6.В чем заключается метод пространственной дискретизации?

7.Переведите в десятичную систему счисления 11102; 228; BFl6; 101102;

1358; 70£16.

8.Переведите десятичные числа в двоичную, восьмеричную и шест-надцатеричную системы счисления: 74,21; 26,11; 125,01; 114,08.

9.Переведите пары чисел в двоичную систему счисления, произведи­те арифметические операции, ответы проверьте: 36 и 4; 75 и 5; 12 и 4; 123 и 3.

10. В какой системе счисления справедливы следующие равенства:

20 + 25= 100; 22+ 44 =110?

11.Десятичное число 59 эквивалентно числу 214 в некоторой другой системе счисления. Найдите основание этой системы.

12.Переведите числа в десятичную систему, а затем проверьте ре­зультаты, выполнив обратные переводы:

13.1

14. Перемножьте числа, а затем проверьте результаты, выполнив со­
ответствующие десятичные умножения:

10110121012 1111012- П,012

1011,112101,12 1012-1111,0012

15.Разделите 100101102 на 10102 и проверьте результат, умножив де­литель на частное.

16.Запишите числа в прямом коде (формат 1 байт):

31 -63

65 -128

17. Запишите числа в обратном и дополнительном кодах (формат 1 байт):

-9 -15

-127 -128

18 Найдите десятичные представления чисел, записанных в допол­
нительном коде:

11111000 10011011

11101001 10000000

19. Выполните вычитания чисел путем сложения их обратных (допол­
нительных) кодов в формате 1 байт (укажите, в каких случаях имеет
место переполнение разрядной сетки):

9-2 2-9

-5-7 -20 - 10

50 - 25 127 - 1

20.Закодируйте с помощью таблицы СР1251 и представьте в шест-надцатеричной системе счисления слово «информация».

21.Почему иногда на экране монитора вместо текстовой информации можно видеть 00DD и т.п.?

22.На клавиатуре наряду с алфавитно-цифровыми клавишами разме­щены такие, как [Alt], [Ctrl], [Del] и т.д. Имеют ли они десятичный код?

23.При разрешающей способности 1280 х 1024 точек определите объем видеопамяти при глубине цвета High Color.

24.Сколько может «весить», т.е. какой имеет объем, файл с видео­клипом длительностью 5 с?

25.Сколько точек содержит рисунок, если при кодировании каждой точки 1 байт получился файл объемом 300 Кбайт?



Поделиться:


Последнее изменение этой страницы: 2017-01-20; просмотров: 799; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.147.0.155 (0.07 с.)