Вконтакте Facebook Twitter Лента RSS

Любое число можно рассматривать как вещественное. Представление информации в компьютере

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

1.1. Представление целых чисел

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

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

Целые числа в компьютере хранятся в памяти в формате с фиксированной запятой . В этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд, а «запятая» «находится» справа после младшего разряда, т. е. вне разрядной сетки.

1.1.1. Целые числа без знака

Рассмотрим кодирование целых чисел без знака на примере данных типа byte в языке Basic и unsigned char в языке С ++, занимающих в памяти один байт.

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

Минимальное число представляется нулями во всех разрядах и равно нулю. Максимально представимому числу соответствуют единицы во всех разрядах ячейки (двоичное число, состоящее из восьми единиц), оно равно 255 (). Примеры кодирования однобайтовых целых чисел без знака приведены в табл. 1.

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

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

Таблица 1

Примеры кодирования целых чисел без знака

1.1.2. Целые числа со знаком

Рассмотрим кодирование целых чисел со знаком на примере данных типа integer в языке Basic и int в языке С ++, занимающих в памяти два байта (16 битов).

Каждый из 16 битов имеет определенное назначение, форма представления целого числа со знаком показана на рис. 1. Под знак отводится старший разряд ячейки: 0 – для положительных чисел, 1 – для отрицательных.

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

Для того чтобы понять, что такое дополнительный код, рассмотрим прямой и обратный коды.

Замечание 1 . Для положительных чисел все три кода совпадают с двоичным представлением числа с помощью шестнадцати двоичных разрядов, при этом в пустые разряды записываются нули.

Рис. 1. Форма представления целого числа со знаком

Представим алгоритм получения дополнительного шестнадцатиразрядного двоичного кода отрицательного числа.

1) Записать прямой код отрицательного числа в 16 двоичных разрядах. Для этого модуль целого отрицательного числа надо перевести в двоичную систему счисления и дополнить полученный результат слева нулями до 16 битов.

2) Записать обратный код отрицательного числа в 16 двоичных разрядах. Для этого значения всех разрядов прямого кода инвертировать (все нули заменить на единицы, а все единицы – на нули).

3) Записать дополнительный код отрицательного числа в 16 двоичных разрядах. Для этого к обратному коду, рассматриваемому как шестнадцатиразрядное неотрицательное двоичное число, прибавить единицу.

Замечание 2 . Обратный код отрицательного числа является дополнением модуля этого числа до числа
, а дополнительный код – до числа
.

Примеры представления двухбайтовых целых чисел со знаком приведены в табл. 2.

Минимальное отрицательное число, которое можно представить с по­мощью двух байтов, равно –32768.

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

Таблица 2

Примеры представления двухбайтовых целых чисел со знаком

Ключевые слова:

  • разряд
  • беззнаковое представление целых чисел
  • представление целых чисел со знаком
  • представление вещественных чисел
  • формат с плавающей запятой

1.2.1. Представление целых чисел

Память компьютера состоит из ячеек, каждая из которых представляет собой физическую систему, состоящую из некоторого числа однородных элементов. Эти элементы обладают двумя устойчивыми состояниями, одно из которых соответствует нулю, а другое - единице. Каждый такой элемент служит для хранения одного из битов - разрядов двоичного числа. Именно поэтому каждый элемент ячейки называют битом или разрядом (рис. 1.2).

Рис. 1.2. Ячейка памяти

Для компьютерного представления целых чисел используется несколько различных способов представления, отличающихся друг от друга количеством разрядов (под целые числа обычно отводится 8, 16, 32 или 64 разрядов) и наличием или отсутствием знакового разряда. Беззнаковое представление можно использовать только для неотрицательных целых чисел, отрицательные числа представляются только в знаковом виде.

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

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

Ниже приведены максимальные значения для беззнаковых целых n-разрядных чисел:

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

Пример 1. Число 53 10 = 110101 2 в восьмиразрядном представлении имеет вид:

Это же число 53 в шестнадцати разрядах будет записано следующим образом:

При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается О, если число отрицательное - 1. Такое представление чисел называется прямым кодом. В компьютере прямые коды используются для хранения положительных чисел в запоминающих устройствах, для выполнения операций с положительными числами.

На сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/) размещён информационный модуль «Число и его компьютерный код». С помощью этого ресурса вы можете получить дополнительную информацию по изучаемой теме.

Для выполнения операций с отрицательными числами используется дополнительный код, позволяющий заменить операцию вычитания сложением. Узнать алгоритм образования дополнительного кода вы можете с помощью информационного модуля «Дополнительный код», размещённого на сайте Федерального центра информационно-образовательных ресурсов (http://fcior.edu.ru/).

1.2.2. Представление вещественных чисел

Любое вещественное число А может быть записано в нормальной (научной, экспоненциальной) форме:

А = ±m q p ,

    m - мантисса числа;

    р - порядок числа.

Например, число 472 000 000 может быть представлено так: 47,2 10 7 , 472 10 6 , 4720 10 7 и т. д.

С нормальной формой записи чисел вы могли встречаться при выполнении вычислений с помощью калькулятора, когда в качестве ответа получали записи следующего вида: 4.72Е+8.

Здесь знак «Е» обозначает основание десятичной системы счисления и читается как «умножить на десять в степени».

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

Для единообразия мантиссу обычно записывают как правильную дробь, имеющую после запятой цифру, отличную от нуля. В этом случае число 472 000 000 будет представлено как 0,472 10 9

Число в формате с плавающей запятой может занимать в памяти компьютера 32 или 64 разряда. При этом выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.

Диапазон представления вещественных чисел определяется количеством разрядов, отведённых для хранения порядка числа, а точность определяется количеством разрядов, отведённых для хранения мантиссы.

Максимальное значение порядка числа, как видно из приведённого выше примера, составляет 1111111 2 = 127 10 , и, следовательно, максимальное значение числа:

0,11111111111111111111111 10 1111111

Попытайтесь самостоятельно выяснить, каков десятичный эквивалент этой величины.

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

Самое главное

Для компьютерного представления целых чисел используются несколько различных способов, отличающихся друг от друга количеством разрядов (8, 16, 32 или 64) и наличием или отсутствием знакового разряда.

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

При представлении со знаком самый старший разряд отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное, то 1. Положительные числа хранятся в компьютере в прямом коде, отрицательные - в дополнительном.

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

А = ±m q p ,

    m - мантисса числа;

    q - основание системы счисления;

    р - порядок числа.

Вопросы и задания

  1. Как в памяти компьютера представляются целые положительные и отрицательные числа?
  2. Любое целое число можно рассматривать как вещественное, но с нулевой дробной частью. Обоснуйте целесообразность наличия особых способов компьютерного представления целых чисел.
  3. Представьте число 63 10 в беззнаковом 8-разрядном формате.
  4. Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-разрядном формате со знаком:
  5. Какие из чисел 443 8 , 101010 2 , 256 10 можно сохранить в 8-разрядном формате?
  6. Запишите следующие числа в естественной форме:

      а) 0,3800456 10 2 ;

      б) 0,245 10 -3 ;

      в) 1,256900Е+5;

      г) 9,569120Е-3.

  7. Запишите число 2010,0102 10 пятью различными способами в нормальной форме.
  8. Запишите следующие числа в нормальной форме с нормализованной мантиссой - правильной дробью, имеющей после запятой цифру, отличную от нуля:

    а) 217,934 10 ;

    в) 0,00101 10 .

  9. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе.

§1.2 ПРЕДСТАВЛЕНИЕ ЧИСЕЛ В КОМПЬЮТЕРЕ
1.2.1. ПРЕДСТАВЛЕНИЕ ЦЕЛЫХ ЧИСЕЛ
1.2.2. ПРЕДСТАВЛЕНИЕ ВЕЩЕСТВЕННЫХ ЧИСЕЛ

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

2. Как в памяти компьютера представляются целые положительные и отрицательные числа?

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

4. Представьте число 6310 в беззнаковом 8-разрядном формате.
00111111.

5. Найдите десятичные эквиваленты чисел по их прямым кодам, записанным в 8-разрядном формате со знаком:
А) 01001100;
Б) 00010101.
А) +76. Б) +45.

6. Какие из чисел 4438 , 1010102 , 25610 можно сохранить в 8-разрядном формате?
4438 = 1001000112 – нельзя.
1010102 – можно.
25610 = 1000000002 – нельзя.

7. Запишите следующие числа в естественной форме:
А) 0,3800456·102 ;
Б) 0,245 ·10-3 ;
А) 1,256900Е+5;
Б) 9,569120Е-3.

8. Запишите число 2010, 010210 пятью различными способами в экспоненциальной форме.

9. Запишите следующие числа в экспоненциальной форме с нормализованной мантиссой – правильной дробью, имеющей после запятой цифру, отличную от нуля:
А) 217, 93410 ;
Б) 7532110;
В) 0,0010110.
А) 0,217934·103
Б) 0,75321·105
В) 0,101·10-2

10. Изобразите схему, связывающую основные понятия, рассмотренные в данном параграфе.

Главная особенность уравновешенных систем счисления – при выполнении арифметических операций не используется «правило знаков».

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

В последние десятилетия XX века группой математиков под руководством профессора в СССР были получены чрезвычайно интересные результаты, связанные с решением проблемы надежности хранения, обработки и передачи информации в компьютерных системах. Математиками было предложено использовать в качестве СС в компьютерах фибоначчиеву систему. Напомним, что алфавитом этой системы являются цифры 0 и 1, а базисом – последовательность чисел Фибоначчи: 1, 2, 3, 5, 8, 13, 21,

Основное преимущество кодов Фибоначчи для практических применений состоит в их «естественной» избыточности, которая может быть использована для целей контроля числовых преобразований. Эта избыточность проявляет себя в свойстве множественности представлений одного и того же числа. Например, число 30 в коде Фибоначчи имеет несколько представлений:

30 = 1001101f i b = 1010001 f i b = 111101 f i b .

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

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

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

При разработке элементной базы новой компьютерной техники основным операционным элементом стало устройство приведения кода Фибоначчи к минимальной форме. Это устройство реализовывалось через RS-триггеры и логические элементы «И» и «ИЛИ». Были созданы опытные образцы микросхемы, выполняющей следующие операции: запись и чтение данных, свертка, развертка, перемещение, поглощение, приведение к минимальной форме, суммирование, вычитание, реверсивный сдвиг, логическое умножение, логическое сложение и сложение по модулю 2.

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

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

И хотя создать Фибоначчи-компьютер по разным причинам пока так и не удалось, теоретические основы данного направления представляют несомненный интерес и могут стать источником новых идей не только в компьютерной области, но и в области математики. Особенно эффективным считается использование «фибоначчиевых» представлений в измерительной технике и цифровой обработке сигналов.

Использование системы остаточных классов. При разработке вычислительной техники перед математиками всегда стоит сложнейшая проблема – создание эффективных (их часто называют «предельными») алгоритмов выполнения арифметических операций в компьютере. В рамках решения этой проблемы учеными были придуманы новые системы счисления и разработаны компьютерные арифметики на их основе, которые позволяют построить вычислительные устройства, быстродействие и надежность которых превосходят вычислители, основанные на двоичной арифметике. К таким СС можно отнести непозиционную систему остаточных классов, некоторые иерархические системы счисления и др.

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

Система остаточных классов (СОК) – это непозиционная СС, числа в которой представляются остатками от деления на выбранную систему оснований P 1, P 2, ..., Р n и являются взаимно простыми числами. Операции сложения, вычитания и умножения над числами в СОК производятся независимо по каждому основанию, без переносов между разрядами.

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

В таких случаях в качестве оснований СОК берут величины, близкие к 2m (m – двоичная разрядность компьютера), например: 2m -1 – 1, 2m , 2m -1 + 1 и т. д. Начиная с середины прошлого столетия, ученые многих стран мира занимаются проблемой повышения скорости «неудобных» операций в СОК. Сама же СОК применяется в вычислительных системах достаточно широко уже несколько десятилетий.

4.5. Формы представления и преобразования информации

4.5.1. Кодирование и декодирование информации

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

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

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

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

Обратный переход к исходному представлению называется декодированием .

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

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

Рассмотрим в качестве примера кодирования соответствие цифрового и штрихового кодов товара. Такие коды имеются на каждом товаре и позволяют полностью идентифицировать товар (страну и фирму производителя, тип товара и др.).

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

При кодировании информации ставятся следующие цели:

· удобство физической реализации;

· удобство восприятия;

· высокая скорость передачи и обработки;

· экономичность, т. е. уменьшение избыточности сообщения;

· надежность, т. е. защита от случайных искажений;

· сохранность, т. е. защита от нежелательного доступа к информации.

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

Для манипулирования информацией, представленной в ЭВМ, предназначено запоминающее устройство (или память) ЭВМ.

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

· электромагнитные реле (замкнуто/разомкнуто); широко использовались в конструкциях первых ЭВМ;

· участок поверхности магнитного носителя информации (намагничен/размагничен);

· участок поверхности лазерного диска (отражает/не отражает);

· триггер; может устойчиво находиться в одном из двух состояний; широко используется в оперативной памяти компьютера.

Все виды информации в компьютере кодируются на машинном языке в виде логических последовательностей нулей и единиц (рис. 4.2).

Вид информации

Двоичный код

Числовая

Текстовая

Графическая

Звуковая

Рис. 4.2. Двоичное кодирование информации

Информация в компьютере представлена в двоичном коде, алфавит которого состоит из двух цифр (0 и 1).

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

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

Важно, что каждая цифра машинного двоичного кода несет информацию в 1 бит. Таким образом, две цифры несут информацию в 2 бита, три цифры – в 3 бита и т. д. Количество информации в битах равно количеству цифр двоичного машинного кода.

Последовательность битов, рассматриваемых аппаратной частью ЭВМ как единое целое, называется машинным словом .

4.5.2. Единицы измерения количества информации

За единицу количества информации принимается такое количество информации, которое содержит сообщение, уменьшающее неопределенность в два раза. Единица измерения количества информации бит (bit ) получила свое название от английского словосочетания Binary digi t – двоичная цифра.

Если вернуться к опыту с бросанием монеты, то здесь неопределенность как раз уменьшается в два раза и, следовательно, полученное количество информации равно 1 биту.

1 байт = 23 бит = 8 бит.

В информатике система образования кратных единиц измерения количества информации несколько отличается от принятых в большинстве наук. Традиционные метрические системы единиц, например Международная система единиц СИ, в качестве множителей кратных единиц используют коэффициент 10n , где n = 3, 6, 9 и т. д., что соответствует десятичным приставкам Кило (103), Мега (106), Гига (109) и т. д.

Компьютер оперирует числами не в десятичной, а в двоичной системе счисления, поэтому в кратных единицах измерения количества информации используется коэффициент 2n .

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

1 Кбайт = 210 байт = 1024 байт;

1 Мбайт = 210 Кбайт = 1024 Кбайт;

1 Гбайт = 210 Мбайт = 1024 Мбайт.

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

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

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

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

При беззнаковом представлении все разряды ячейки отводятся под само число. При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды – под собственно число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное – 1. Очевидно, в ячейках одного и того же размера можно представить больший диапазон целых неотрицательных чисел в беззнаковом представлении, чем чисел со знаком. Например, в одном байте (8 разрядов) можно записать положительные числа от 0 до 255,
а со знаком – только до 127. Поэтому если известно заранее, что некоторая числовая величина всегда является неотрицательной, то выгоднее рассматривать ее как беззнаковую.

Говорят, что целые числа в компьютере хранятся в формате с фиксированной запятой.

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

Максимально представимому числу соответствуют единицы во всех разрядах ячейки (двоичное число, состоящее из k единиц). Для
k -разрядного представления оно будет равно 2k – 1. Минимальное число представляется нулями во всех разрядах ячейки, оно всегда равно нулю. Ниже приведены максимальные числа для беззнакового представления при различных значениях k:

Количество разрядов

Максимальное число

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

Представление числа в привычной для человека форме «знак-величина», при которой старший разряд ячейки отводится под знак, остальные k – 1 разрядов – под цифры числа, называется прямым кодом .

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

Отметим, что максимальное положительное число, которое можно записать в знаковом представлении в k разрядах, равно 2k –1–1, что практически в два раза меньше максимального числа в беззнаковом представлении в тех же k разрядах.

Пример

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

Решение . Максимальное положительное число в 8 битах равно 127 (27 – 1), в 16 битах – 32– 1).

Пример

Число 53 = 1101012 в восьмиразрядном представлении имеет вид.

Это же число 53 в 16 разрядах будет записано следующим образом: .

В обоих случаях неважно, знаковое или беззнаковое представление при этом используется.

Пример

Для числа 200 = представление в 8 разрядах со знаком невозможно, т. к. максимальное допустимое число в таком представлении равно 127, а в беззнаковом восьмиразрядном представлении оно имеет вид.

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

В k -разрядной целочисленной компьютерной арифметике 2k ≡ 0.

Объяснить это можно тем, что двоичная запись числа 2k состоит из одной единицы и k нулей, а в ячейку из k разрядов может уместиться только k цифр, в данном случае только k нулей. В таком случае говорят, что значащая единица вышла за пределы разрядной сетки.

k -разрядный дополнительный код отрицательного числа т – это запись в k разрядах положительного числа 2k – |т| , где |т| – модуль отрицательного числа т , |т| < 2k– 1.

Разберемся, что и до чего дополнительный код дополняет. Дополнительный код отрицательного числа т – это дополнение модуля этого числа до 2 (или до нуля в k -разрядной арифметике):

(2k – |т |) + |т | = 2k ≡ 0.

Алгоритм получения дополнительного k -разрядного кода отрицательного числа:

1. Модуль числа представить прямым кодом в k двоичных разрядах.

2. Значения всех разрядов инвертировать (все нули заменить на единицы, а единицы – на нули), получив, таким образом, k -разрядный обратный код исходного отрицательного числа.

3. К полученному обратному коду, трактуемому как k -разрядное неотрицательное двоичное число, прибавить единицу.

Обратный код является дополнением исходного числа до числа
2k– 1, состоящего из k двоичных единиц. Поэтому прибавление единицы к инвертированному коду позволяет получить его искомый дополнительный код.

Пример

Получим дополнительный код числа –52 для восьми - и шестнадцатиразрядной ячеек. Для восьмиразрядной ячейки:

0011 0100 – прямой код числа |–52| = 52;

1100 1011 – обратный код числа –52;

1100 1100 – дополнительный код числа –52. Для шестнадцати-разрядной ячейки: 0000 0000 0– прямой код числа |–52|;
1111 1111 1100 1011 – обратный код числа –52; 1111 1111 1100 1100 – дополнительный код числа –52.

4.5.4. Представление символьной информации в ЭВМ

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

При преобразовании символов (знаков) в цифровой код между множествами символов и кодов должно иметь место взаимно однозначное соответствие.

Таблица кодирования символов 8-битовыми числами, введенная Институтом стандартизации США и ставшая международным стандартом де-факто, называется ASCII (American Standard Code for Information Interchange).

Базовая часть таблицы ASCII закрепляет значения кодов с 0 по 127 и является общепринятой во всем мире, а расширенная относится к символам с номерами от 128 до 255.

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

В каждой стране используется своя расширенная часть таблицы ASCII (коды 128-255, или расширенные ASCII-коды), в которой находятся буквы национальных алфавитов, символы псевдографики и научные символы. В России для расширенной части таблицы используются кодировки КОИ-8, Windows-1251, ISO и др. Поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой кодировке.

Трудности, связанные с созданием единой системы кодирования данных для всего мира, вызваны ограниченным набором кодов. Очевидно, что если кодировать символы не восьмиразрядными двоичными числами, а числами с большим количеством разрядов, то диапазон возможных значений кодов станет намного больше. Такая система, основанная на 16-разрядном кодировании символов, получила название универсальной – UNICODE. Шестнадцать разрядов позволяют обеспечить уникальные коды для 216 = 65536 различных символов – этого достаточно для размещения в одной таблице символов большинства языков планеты.

4.5.5. Представление чисел в формате с плавающей запятой

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

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

Любое вещественное число x , представленное в системе счисления с основанием N , можно записать в виде

x = ±mN ±p ,

где m – мантисса; p – порядок числа.

Если |m | < 1, то запись числа называется нормализованной слева.

Следующие примеры показывают, как можно представить любое число в форме с плавающей запятой:

а) в десятичной системе счисления

372,95 = 0,37295 · 103;

25 = 0,025 · 103 = 0,25 · 102;

0,0000015 = 0,15 · 10–5 = 0,015 · 10–4;

б) в двоичной системе счисления

11010,1101 = 0, · 26 = 0, · 25;

0,011011 = 0,11011 · 2-1;

0,1 = 0,1 · 20.

Здесь порядок определяет, на какое количество позиций и в каком направлении должна сместиться запятая в мантиссе.

Число называют нормализованным справа , если после запятой в мантиссе стоит не нуль. Например, числа 0,0007610 и 0, представленные соответственно в виде 0,076 · 10–2 и 0,011 · 2–2 не являются нормализованными справа, а в виде 0,76 · 10–3 и 0,11 · 2–3 являются таковыми.

В настоящее время распространена (описана в стандарте IEEE 754) также другая форма записи – нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10
(не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно) (1 ≤ m N ). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.

Так как старший разряд (целая часть числа) мантиссы двоичного числа (кроме 0) в нормализованном виде равен «1», то при записи мантиссы числа в ЭВМ старший разряд можно не записывать, что и используется для уменьшения объема хранимой информации или (при том же объёме) увеличения точности хранения числа.

0 " style="border-collapse:collapse;border:none">

Значащих цифр

Характеристика

на характеристику

Х = 27 + p – 1

Х = 210 + p – 1

Х = 214 + p – 1

Алгоритм формирования машинного представления вещественного числа в памяти ЭВМ состоит из следующих пунктов:

1. Число представляется в двоичном коде.

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

3. С учетом типа вещественного числа по таблице определяется характеристика.

4. В отведенное в памяти поле, в соответствии с типом числа, записываются мантисса, характеристика и знак числа. При этом необходимо отметить следующее:

· для чисел типа real характеристика хранится в младшем байте памяти, для чисел типа single, double, extended – в старших байтах;

· знак числа находится всегда в старшем бите старшего байта;

· мантисса всегда хранится в прямом коде;

· первый бит мантиссы (для нормализованного числа всегда 1) для чисел типа real, single, double не хранится (является скрытым). В числах типа extended все разряды мантиссы хранятся в памяти ЭВМ.

Формат машинного представления данных (на примере типа single) следующий:

мл. байт ст. байт

6– № разрядов памяти

m ....m m ....m х m ...m s х ...х

где s – знаковый разряд;

х – характеристика числа;

m – нормализованная мантисса.

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

1. Представление целых чисел

2. Представление вещественных чисел

3. Представление текстовой информации

4. Представление графической и видеоинформации

5. Представление звуковой информации

6. Методы сжатия цифровой информации

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

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

(k-1)-й разряд ……… 1-й разряд 0-й разряд

Рис.1 Ячейка из k –разрядов.

Вычислительная техника возникла как средство автоматизации вычислений, именно поэтому первые компьютеры назывались ЭВМ - электронно-вычислительными машинами. Сегодня компьютеры обрабатывают различные виды информации: числовую, текстовую, звуковую, графическую. Однако современный компьютер может хранить и обрабатывать только дискретную информацию. Следовательно, любой вид информации, подлежащий компьютерной обработке, тем или иным способом должен быть закодирован с помощью конечной последовательности целых чисел, которая затем переводится в двоичный вид для хранения в компьютере.

В данной лекции мы рассмотрим, каким образом решается проблема преобразования исходной информации в компьютерное представление для каждого вида информации. Будет показано, насколько точно компьютерное представление отражает исходную информацию, причем слово «точно» здесь применяется не только к числам (точность представления), но и к другим видам информации. А именно, рассматривается степень реалистичности передачи оттенков цвета на мониторе, степень приближенности воспроизводимой музыки к естественному звучанию музыкальных инструментов или голосу человека и т. д. Задача перевода информации естественного происхождения в компьютерную называется задачей дискретизации или квантования . Эту задачу необходимо решать для всех видов информации. Способы дискретизации для разных видов информации различны, но подходы к решению этой задачи построены на одинаковых принципах.



Представление целых чисел.

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

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

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

При беззнаковом представлении все разряды ячейки отводятся под само число. При представлении со знаком самый старший (левый) разряд отводится под знак числа, остальные разряды - под собственно число. Если число положительное, то в знаковый разряд помещается 0, если число отрицательное - 1. Очевидно, в ячейках одного и того же размера можно представить больший диапазон целых неотрицательных чисел в беззнаковом представлении, чем чисел со знаком. Например, в одном байте (8 разрядов) можно записать положительные числа от 0 до 255, а со знаком - только до 127. Поэтому, если известно заранее, что некоторая числовая величина всегда является неотрицательной, то выгоднее рассматривать ее как беззнаковую.

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

Представление целых положительных чисел.

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

Максимально представимому числу соответствуют единицы во всех разрядах ячейки (двоичное число, состоящее из k единиц). Для k-разрядного представления оно будет равно 2 k - 1. Минимальное число представляется нулями во всех разрядах ячейки, оно всегда равно нулю. Ниже приведены максимальные числа для беззнакового представления при различных значениях k:

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

Определение 1. Представление числа в привычной для человека форме «знак-величина », при которой старший разряд ячейки отводится под знак, остальные k - 1 разрядов - под цифры числа, называется прямым кодом .

Например, прямые коды двоичных чисел 11001 2 и -11001 2 для восьмиразрядной ячейки равны 00011001 и 10011001 соответственно. Положительные целые числа представляются в компьютере с помощью прямого кода. Прямой код отрицательного целого числа отличается от прямого кода соответствующего положительного числа содержимым знакового разряда. Но вместо прямого кода для представления отрицательных целых чисел в компьютере используется дополнительный код .

Отметим, что максимальное положительное число, которое можно записать в знаковом представлении в k разрядах, равно 2 k-1 - 1 , что практически в два раза меньше максимального числа в беззнаковом представлении в тех же k разрядах.

Вопрос 1 . Можно ли в 8-ми разрядной ячейки представить со знаком число 200?

Вопросы.

  1. Обоснуйте целесообразность представления особым образом в компьютере целых чисел.
  2. Приведите пример умножения в ограниченном числе разрядов двух положительных чисел, в результате которого получается отрицательное число.
  3. Перечислите и объясните все ошибки, которые могут возникать при выполнении арифметических операций над целыми числами в компьютерной арифметике в ограниченном числе разрядов.
  4. Покажите, каким образом использование дополнительного кода позволяет заменить операцию вычитания операцией сложения.
  5. В восьмиразрядной ячейке запишите дополнительные коды следующих двоичных чисел: а) -1010; б) -1001; в) -11; г) -11011.
  6. Можно ли по виду дополнительного кода числа сказать, четно оно или нечетно?
  7. Найдите десятичные эквиваленты отрицательных чисел, записанных в дополнительном коде: а) 11000100; б) 11111001.
  8. Какие из чисел 43 16 , 101010 2 , 129 10 и -135 10 можно сохранить в одном байте (в 8 разрядах)?
  9. Получите 16-разрядное представление следующих чисел: а) 25; б) -610.
  10. Для чисел А = 1110 2 , В = 1101 2 выполните следующие операции: А + В; А - В; В - А; -А - А; -В - В; -А - В (в восьмиразрядном знаковом представлении).

Вопросы.

1. Запишите следующие десятичные числа в нормализованном виде:

а) 217,934; в) 10,0101; б) 75321; г) 0,00200450.

2. Приведите к нормализованному виду следующие числа, используя в качестве Р основания их систем счисления:

а) -0,000001011101 2 ;

б) 98765432Ю 10 ;

в) 123456789,ABCD 16 .

3. Сравните следующие числа:

а) 318,4785 × 10 9 и 3,184785 × 10 11 ;

б) 218,4785 × 10 -3 и 21847,85 × 10 -4 ;

в) 0,1101 2 × 2 2 и 101 2 × 2 -2 .

4. Сравните диапазон представления чисел с плавающей за­пятой в 32-разрядном формате (24 разряда для мантиссы и 6 разрядов для модуля порядка) с диапазоном представления чисел с фиксированной запятой в том же формате.

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

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

а) 0,397621 х 10 3 + 0,237900 х 10 1 ;

б) 0,982563 х 10 2 - 0,745623 х 10 2 ;

в) 0,235001 х 10 2 0,850000 х 10 3 ;

г) 0,117800 х Ю 2: 0,235600 х 10 3 .

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

7. Выполните действие над машинными кодами чисел с плавающей запятой в 32-разрядном формате: X =А + В, где А = 125,75 и В = -50.

8. Перечислите и объясните все ошибки, которые могут возникать при арифметических операциях с нормализованными числами в ограниченном числе разрядов.

Квантование цвета.

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

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

Ученым долгое время не удавалось объяснить процесс цветовосприятия. До середины XVII века господствовала умозрительная теория Аристотеля, согласно которой все цвета образуются при подмешивании черного цвета к белому. Первые серьезные результаты в этой области получил Исаак Ньютон, который описал составную природу белого света и установил, что спектральные цвета являются неразложимыми и что путем смешения спектральных цветов можно синтезировать белый цвет и всевозможные оттенки других цветов. Ньютон выделил в спектре белого света семь наиболее заметных спектральных цветов и назвал их основными - красный, оранжевый, желтый, зеленый, голубой, синий и фиолетовый. Примерно полстолетия спустя, в 1756 году, выдающийся русский ученый М. В. Ломоносов сформулировал так называемую трехкомпонентную теорию цвета, обобщив огромный эмпирический материал, накопленный им при разработке технологии производства цветного стекла и мозаики. Исследуя вопросы окрашивания стекол, Ломоносов обнаружил, что для придания стеклу любого М. В. Ломоносов (1711-1765) цветового оттенка достаточно использовать всего три основные краски, смешивая их в определенных пропорциях. Спустя примерно столетие выдающийся немецкий ученый Герман Грассман (1809-1877) ввел в трехкомпонентную теорию цвета математический аппарат в форме законов Грассмана для аддитивного синтеза цвета. Наиболее важными из них являются следующие два закона.

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

Закон непрерывности: при непрерывном изменении состава цветовой смеси результирующий цвет также меняется непрерывно. К любому цвету можно подобрать бесконечно близкий цвет.

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

Колориметрические законы Грассмана устанавливают общие свойства математических моделей цвета. Фактически законы Грассмана постулируют, что любому цвету можно однозначным образом поставить в соответствие некоторую точку трехмерного пространства. Точки пространства, которые соответствуют цветам, воспринимаемым человеческим глазом, образуют в пространстве некоторое выпуклое тело. Абсолютно черному цвету всегда соответствует точка {0, 0, 0}. Таким образом, цвета можно рассматривать как точки или векторы в трехмерном цветовом пространстве. Каждая цветовая модель задает в нем некоторую систему координат, в которой основные цвета модели играют роль базисных векторов. А квантование цвета, по сути, является дискретизацией пространства цветов.

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

  • RGB (Red-Green-Blue, красный-зеленый-синий).
  • CMYK (Cyan-Magenta-Yellow-blacK, голубой-пурпурный-желтый-черный) .
  • HSB {Hue-Saturation-Brightness, цветовой оттенок-насыщенность-яркость).

Чтобы исключить неоднозначность трактования терминов «яркость», «насыщенность», «цветовой оттенок», поясним их.

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

Цветовой оттенок и насыщенность - это две другие независимые характеристики цвета. Пусть у нас есть набор красок разного цвета. Смешением различных красок между собой мы будем получать новые цвета. Например, смесь равного количества желтой и синей красок даст зеленую краску. Цветовой оттенок, или цветовой тон рассматриваемого объекта связан со спектральным составом излучения. По цветовому тону объекта мы можем судить об окраске объекта - синей, зеленой, красной и т. д. Отдельные участки видимого спектра вызывают ощущение различных цветов.

Насыщенность характеризует степень «разбавления» цветового тона белым цветом. Например, если ярко- красную (насыщенную) краску разбавить белой, то ее цветовой оттенок останется прежним, изменится только насыщенность. Ровно так же коричневый цвет, желтый и лимонный имеют один и тот же цветовой оттенок - желтый, их различие заключается в насыщенности цветового оттенка. Наибольшей насыщенностью обладает свет от монохромного источника.

Отметим, что для белого и черного цветов насыщенность составляет 0%, т. е. эти цвета не обладают насыщенностью. Именно поэтому, подмешивая их к цветной краске, мы меняем ее насыщенность, а не оттенок.

Цветовая модель RGB.

В модели RGB основными цветами являются красный, зеленый и синий . Данная модель используется в основном при отображении графических изображений на экране монитора, телевизора, сотового телефона и т. д. Смешением трех основных цветов синтезируются все остальные цвета, их условные яркости (интенсивности) задаются вещественными числами от 0 до 1 (значение 1 соответствует максимальной яркости соответствующего цвета, которую может изобразить графическое устройство). Модель RGB определяет пространство цветов в виде единичного куба с осями «яркость красной компоненты», «яркость зеленой компоненты» и «яркость синей компоненты».


Характерные особенности RGB-модели

Любая точка куба (r, g, b ) определяет некоторый цвет.

Точка (0, 0, 0) соответствует черному цвету, точка (1, 1, 1) - белому, а линия (0, 0, 0) - (1, 1, 1) описывает все градации серого цвета: от черного до белого.

При движении по прямой от (0, 0, 0) через точку (r, g, b ) получаем все градации яркости цвета (r, g, b ), от самой темной до самой яркой. Например, (1/4, 1/4, 0) - темно- коричневый цвет, (1/2, 1/2, 0) - коричневый, (3/4, 3/4, 0) - желто-коричневый, (1, 1, 0) - желтый.

На гранях куба {r = 0}, {g = 0} и {b = 0} расположены самые насыщенные цвета.

Чем ближе точка к главной диагонали (0, 0, 0)-(1, 1, 1), тем менее насыщен соответствующий цвет.

У цветовой модели RGB есть физиологическое обоснование. Человеческий глаз содержит четыре типа зрительных рецепторов: «палочки» (рецепторы интенсивности) и

три типа «колбочек» (рецепторы цветовых оттенков). Колбочки каждого типа чувствительны к свету в своем узком диапазоне длин волн, для колбочек разных типов максимумы чувствительности приходятся на разные длины волн, диапазоны чувствительности частично перекрываются:

Именно благодаря неравномерной спектральной чувствительности и перекрытию диапазонов чувствительности человеческий глаз способен различать огромное количество цветов (около 10 млн).

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

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

Наиболее простой способ добиться этого - перевести вещественные числа из интервала }

© 2024 Windows. Инструкции. Программы. Железо. Ошибки