Читайте также:
|
|
В отличие от многих языков программирования высокого уровня, в языке C++ операция присваивания сама является выражением. Как любое выражение, присваивание имеет значение - это тот результат, который присваивается переменной, задаваемой левым операндом.
Синтаксис операции присваивания:
Адресуемое_значение = Выражение
Адресуемое_значение (l-value, l-значение) - ссылка на объект, например: имя переменной, ссылка на элемент массива и на элемент структуры. Например, legs=4 - выражение, значением которого является 4.
Кроме увеличения и уменьшения на единицу (++ и --), встречаются и другие способы изменения значения переменной, которые мы будем называть специальными формами присваивания.
Общее правило о специальной форме присваивания можно сформулировать так: для некоторых бинарных операций существует специальная операция присваивания, обозначаемая:
Если В1 и В2 - выражения, то результаты выполнения операций присваивания
В1 операция= В2 и
В1 = (В1) операция (В2)
одинаковы.
Например, следующие две записи на языке C++ эквивалентны: i = i + 2; и i += 2;.
Вопрос 18
18. Указатели. (Язык программирования С).
Указатель представляет собой адрес памяти, который указывает (или ссылается) на определенный участок. Из урока 10 вы узнали, что для изменения параметра внутри функции ваша программа должна передать адрес параметра (указатель) в функцию. Далее функция в свою очередь использует переменную-указатель для обращения к участку памяти.
Как вы уже знаете, указатель содержит адрес памяти. Когда ваша программа передает массив (например, символьную строку) в функцию, C++ передает адрес первого элемента массива.
Как объявить указатель? Собственно, так же, как и любую другую переменную, но с добавлением звездочки перед именем переменной. Так, например, следующий код создает два указателя, которые указывают на целое число.
int *pNumberOne;
int *pNumberTwo;
Обратили внимание на префикс "p" в обоих именах переменных? Это принятый способ обозначить, что переменная является указателем. Так называемая венгерская нотация. Теперь давайте сделаем так, чтобы указатели на что-нибудь указывали:
pNumberOne = &some_number;
pNumberTwo = &some_other_number;
Знак & (амперсанд) следует читать как "адрес переменной..." и означает адрес переменной в памяти, который будет возвращен вместо значения самой переменной. Итак, в этом примере pNumberOne установлен и содержит адрес переменной some_number, также pNumberOne указывает на some_number.
Таким образом, если мы хотим получить адрес переменной some_number, мы можем использовать pNumberOne. Если мы хотим получить значение переменной some_number через pNumberOne, нужно добавить звездочку (*) перед pNumberOne (*pNumberOne). Звездочка (*) разыменовывает (превращает в саму переменную) указатель и должна читаться как "место в памяти, которое указывается через...", кроме объявлений, как в строке int *pNumber.пользовать указатель на символьную строку
Вопрос 19
19. Кодирование текстовой информации.
Текстовую информацию кодируют двоичным кодом через обозначение каждого символа алфавита определенным целым числом. С помощью восьми двоичных разрядов возможно закодировать 256 различных символов. Данного количества символов достаточно для выражения всех символов английского и русского алфавитов.
Кодирование информации применяют для унификации формы представления данных, которые относятся кразличным типам, в целях автоматизации работы с информацией.
Кодирование – это выражение данных одного типа через данные другого типа. Например, естественные человеческие языки можно рассматривать как системы кодирования понятий для выражения мыслей посредством речи, к тому же и азбуки представляют собой системы кодирования компонентов языка с помощью графических символов.
В вычислительной технике применяется двоичное кодирование. Основой этой системы кодирования является представление данных через последовательность двух знаков: 0 и 1. Данные знаки называются двоичными цифрами (binary digit), или сокращенно bit (бит). Одним битом могут быть закодированы два понятия: 0 или 1 (да или нет, истина или ложь и т. п.). Двумя битами возможно выразить четыре различных понятия, а тремя – закодировать восемь различных значений.
Наименьшая единица кодирования информации в вычислительной технике после бита – байт. Его связь с битом отражает следующее отношение: 1 байт = 8 бит = 1 символ.
Обычно одним байтом кодируется один символ текстовой информации. Исходя из этого для текстовых документов размер в байтах соответствует лексическому объему в символах.
Более крупной единицей кодирования информации служит килобайт, связанный с байтом следующим соотношением: 1 Кб = 1024 байт.
Другими, более крупными, единицами кодирования информации являются символы, полученные с помощью добавления префиксов мега (Мб), гига (Гб), тера (Тб):
1 Мб = 1 048 580 байт;
1 Гб = 10 737 740 000 байт;
1 Тб = 1024 Гб.
Для кодирования двоичным кодом целого числа следует взять целое число и делить его пополам до тех пор, пока частное не будет равно единице. Совокупность остатков от каждого деления, которая записывается справа налево вместе с последним частным, и будет являться двоичным аналогом десятичного числа.
В процессе кодирования целых чисел от 0 до 255 достаточно использовать 8 разрядов двоичного кода (8 бит). Применение 16 бит позволяет закодировать целые числа от 0 до 65 535, а с помощью 24 бит – более 16,5 млн различных значений.
Для того чтобы закодировать действительные числа, применяют 80-разрядное кодирование. В этом случае число предварительно преобразовывают в нормализованную форму, например:
2,1427926 = 0,21427926? 101;
500 000 = 0,5? 106.
Первая часть закодированного числа носит название мантиссы, а вторая часть – характеристики. Основная часть из 80 бит отводится для хранения мантиссы, и некоторое фиксированное число разрядов отводится для хранения характеристики.
Вопрос 20
20. Кодирование графических данных и звуковой информации.
1.5. Кодирование графической информации
Существует несколько способов кодирования графической информации.
При рассмотрении черно-белого графического изображения с помощью увеличительного стекла заметно, что в его состав входит несколько мельчайших точек, образующих характерный узор (или растр). Линейные координаты и индивидуальные свойства каждой из точек изображения можно выразить с помощью целых чисел, поэтому способ растрового кодирования базируется на использовании двоичного кода представления графических данных. Общеизвестным стандартом считается приведение черно-белых иллюстраций в форме комбинации точек с 256 градациями серого цвета, т. е. для кодирования яркости любой точки необходимы 8-разрядные двоичные числа.
В основу кодирования цветных графических изображений положен принцип разложения произвольного цвета на основные составляющие, в качестве которых применяются три основных цвета: красный (Red), зеленый (Green) и синий (Blue). На практике принимается, что любой цвет, который воспринимает человеческий глаз, можно получить с помощью механической комбинации этих трех цветов. Такая система кодирования называется RGB (по первым буквам основных цветов). При применении 24 двоичных разрядов для кодирования цветной графики такой режим носит название полноцветного (True Color).
Каждый из основных цветов сопоставляется с цветом, дополняющим основной цвет до белого. Для любого из основных цветов дополнительным будет являться цвет, который образован суммой пары остальных основных цветов. Соответственно среди дополнительных цветов можно выделить голубой (Cyan), пурпурный (Magenta) и желтый (Yellow). Принцип разложения произвольного цвета на составляющие компоненты используется не только для основных цветов, но и для дополнительных, т. е. любой цвет можно представить в виде суммы голубой, пурпурной и желтой составляющей. Этот метод кодирования цвета применяется в полиграфии, но там используется еще и четвертая краска – черная (Black), поэтому эта система кодирования обозначается четырьмя буквами – CMYK. Для представления цветной графики в этой системе применяется 32 двоичных разряда. Данный режим также носит название полноцветного.
Приуменьшении количества двоичных разрядов, применяемых для кодирования цвета каждой точки, сокращается объем данных, но заметно уменьшается диапазон кодируемых цветов. Кодирование цветной графики 16-разрядными двоичными числами носит название режима High Color. При кодировании графической цветной информации с применением 8 бит данных можно передать только 256 оттенков. Данный метод кодирования цвета называется индексным
Дата добавления: 2015-01-30; просмотров: 77 | Поможем написать вашу работу | Нарушение авторских прав |