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

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

2.             Системы счисления

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

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

Код — совокупность условных знаков, каждому из которых присваивается определенное значение .

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

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

 

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

Двоичный код — способ кодирования, в котором каждый разряд принимает одно из двух возможных значений, обычно обозначаемых цифрами 0 и 1. Разряд в этом случае называется двоичным разрядом.

Такой способ кодирования связан с тем, что наиболее просто реализуются технические устройства, обладающие двумя устойчивыми состояниями: включено / выключено, соединено / разъединено и др.

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

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

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


 

Рис. 1. (Источник)

 

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

Каждая «клетка» памяти компьютера называется битом. Цифры 0 и 1, хранящиеся в «клетках» памяти компьютера, называют значениями битов.

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

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

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

Известно множество способов записи чисел. Мы пользуемся десятичной позиционной системой счисления.

Десятичной она называется потому, что в этой системе счисления десять единиц одного разряда составляют одну единицу следующего старшего разряда. Число 10 называется основанием десятичной системы счисления. Для записи чисел в десятичной системе счисления используются десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9.

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

Например, в записи числа 555 цифра 5, стоящая на первом месте справа, обозначает 5 единиц, на втором – 5 десятков, на третьем – 5 сотен.

Рассмотрим числовой ряд:

1, 10, 100, 1000, 10 000, 100 000 ...

Этот ряд начинается с единицы. Каждое следующее число первого ряда получается путем умножения предыдущего числа на 10.

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

2507 = 2 • 1000 + 5• 100 + 0 • 10 + 7• 1.

Числа 2, 5, 0, 7, на которые умножаются члены первого ряда, составляют исходное число 2507.

Как мы уже выяснили, информация в памяти компьютера хранится в виде последовательностей 0 и 1.

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


 

Рис. 5. (Источник)

Последовательностями нулей и единиц можно закодировать и графическую информацию.

Существует два способа представления изображений в цифровом виде.

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


 

Рис. 6. (Источник)

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

При кодировании чёрно-белых изображений каждый пиксель может кодироваться 1 битом. При цифровом представлении цветных изображений каждый пиксель кодируется цепочкой из 24 нулей и единиц, что позволяет различать более 16 миллионов цветовых оттенков.

Способ 2: графический объект записывается как закодированная в цифровом виде последовательность команд для его создания.

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


 

Рис. 7. (Источник)

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

Такой способ называется векторным кодированием.

Векторные и растровые изображения. Как мы уже знаем, все изображения, с которыми работают программы, разделяются на два класса: растровые и векторные.

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

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


 

Рис. 8. Мозаика (Источник)

Другой пример пиксельных изображений – так называемые японские кроссворды, получившие в последнее время широкое распространение (классический японский кроссворд представляет собой чёрно-белое пиксельное изображение: каждая клетка – пиксель, которая может быть закрашена (1) или не закрашена (2)) (Рис. 9).


 

Рис. 9. Японский кроссворд (Источник)

Изображение на экране любого компьютерного монитора – пиксельное, и это хорошо видно через увеличительное стекло.

Представление векторного изображения в памяти компьютера сложнее, чем пиксельного (хотя, как правило, при этом оно намного компактнее). Подобрать аналог векторному изображению в реальном мире не так-то просто. Впрочем, на эту роль вполне может претендовать тот человечек, которого в детстве рисовали, наверное, все, приговаривая: «Точка, точка, запятая – вышла рожица кривая, палка, палка, огуречик...» (Рис. 10).


 

Рис. 10. Пример простейшего векторного изображения (Источник)

Последняя фраза, по сути дела, представляет собой перечисление объектов векторного изображения.

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


 

Рис. 11. (Источник)

Основной недостаток пиксельного изображения состоит в том, что размер пикселов является фиксированным. Из-за этого в случае изменения размера изображения возникают крайне нежелательные эффекты. При его увеличении между плотно «прижатыми» друг к другу пикселами появляется свободное место. Заполнить его, строго говоря, нечем, разве что размещая на свободных местах копии находящихся рядом пикселов. Это эквивалентно увеличению размера пиксела при увеличении изображения. Однако сильно увеличивать размер пиксела нельзя – слишком крупные пикселы перестанут восприниматься глазом зрителя как однородное изображение, видимость смыкания разрушится. Этот эффект хорошо известен профессиональным фотографам, которые говорят про чрезмерно увеличенную фотографию: «полезло зерно» (Рис. 11).

Ещё один недостаток пиксельных изображений связан с тем, что для их хранения необходим большой объем памяти.

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


 Рис. 12. (Источник)

   

2. Системы счисления

Система счисления — это совокупность правил записи чисел посредством конечного набора символов (цифр).

Системы счисления бывают:

§     непозиционными (в этих системах значение цифры не зависит от ее позиции — положения в записи числа);

§     позиционными (значение цифры зависит от позиции).

Непозиционные системы счисления

Примеры: унарная, римская, древнерусская и др.

Позиционные системы счисления

Основание системы счисления

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

Вес разрядаотношение количественного эквивалента цифры в этом разряде к количественному эквиваленту той же цифры в нулевом разряде

pi = si,

где i — номер разряда, а s — основание системы счисления.

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


Перевод в десятичную систему счисления

По определению веса разряда

pi = si,

где i — номер разряда, а s — основание системы счисления.

Тогда, обозначив цифры числа как ai, любое число, записанное в позиционной системе счисления, можем представить в виде:

x = ansn + an-1sn-1 + ... + a2s2 + a1s1 + a0s0 + a-1s-1 + ...

Например, для системы счисления с основанием 4:

1302.24 = 143 + 342 + 041 + 240 + 24-1

Выполнив вычисления, мы получим значение исходного числа, записанное в десятичной системе счисления (точнее, в той, в которой производим вычисления). В данном случае:

1302.24 = 143 + 342 + 041 + 240 + 24-1 =

= 164 + 316 + 04 + 21 + 20,25 =

= 64 + 48 + 2 + 0,5 = 114,5

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

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

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

3.             выполнить вычисления и записать полученный результат (указав основание новой системы счисления — 10).

Примеры:

https://lh5.googleusercontent.com/5gtDjFNOl1DjoCuqDac2YH2w8hEGvqOholxAW-vZLCw9bWMlExWr6ACQoSzlfrxyZzx3GgUF6pwLQs4EBuS-HAst5tLwPfamuFTEhk-AoedPFipO=w1280

 

Перевод из десятичной системы счисления

Вспомним пример перевода из системы счисления с основанием 4 в десятичную:

13024 = 143 + 342 + 041 + 240 = 114

Иначе это можно записать так:

114 = ((1 4 + 3) 4 + 0) 4 + 2 = 13024

Отсюда видно, что при делении 114 на 4 нацело в остатке должно остаться 2 — это младшая цифра при записи в четверичной системе. Частное же будет равно

(1 4 + 3) 4 + 0

Деление его на 4 даст остаток — следующую цифру (0) и частное 1 4 + 3. Продолжая действия, получим аналогичным образом и оставшиеся цифры.

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

1.             Выполнить последовательное деление с остатком исходного числа и каждого полученного частного на основание новой системы счисления.

2.             Записать вычисленные остатки, начиная с последнего (т.е. в обратном порядке)

Примеры:

https://lh4.googleusercontent.com/zhpcWxUK1CuMasHTsRngZnPX0gV1U-j891wEF2Z-yVk6Tuq-zlChucHf9G0LoSo_6X0oR_NsmnxtBWtFT5IeHOg0kMJpznHRGDU63PuUYVbXqxSc=w1280

 

Системы счисления с кратными основаниями

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

Достаточно заменить каждый разряд шестнадцатеричной записи четырьмя (16=24) разрядами двоичной (и наоборот) по таблице.

Примеры:

https://lh3.googleusercontent.com/i_f9et636b5znqug3Kw98N2XalkYumASzsDEegPpL26q6mAXbi23Dzq-h3-yUgAqLekvfENqBjaFNS8CUpj8eZpvWfdf-8sp4fDmY2_AhakFGd5d=w1280

Аналогично происходит и перевод между двоичной и восьмеричной системой, только разряд восьмеричной соответствует трем разрядам двоичной (8=23)

Арифметические операции в позиционной системе с любым основанием производятся по одним и тем же правилам: сложение, вычитание и умножение «в столбик», а деление — «уголком». Рассмотрим пример выполнения действий сложения и вычитания в двоичной, восьмеричной и шестнадцатеричной системах счисления.

Сложение

Двоичная система:

В нулевом разряде: 1 + 0 = 0

В первом разряде: 1 + 1 = 2. 2 переносится в старший (2-й) разряд, обращаясь в единицу переноса. В первом разряде остается 2 - 2 = 0.

Во втором разряде: 0 + 1 + 1 (перенос) = 2; Переносим в старший разряд,

В третьем разряде: 1 + 1 + 1 (перенос) = 3; В старший разряд переносим 2, здесь остается 3 - 2 = 1.

Продолжая вычисления, получим:

100110112 + 10011102 = 111010012

Восьмеричная система:

Выполняем вычисления аналогично двоичной системе, но в старший разряд переносим 8. Получаем:

342618 + 44358 = 407168

Шестнадцатеричная система:

A39116 + 853416 = 128C516

Вычитание

Двоичная система:

В нулевом разряде: 1 - 0 = 1

В первом разряде: 1 - 1 = 0.

Во втором разряде: 0 - 1; необходимо занять единицу старшего разряда. Поскольку веса разрядов двоичной системы отличаются в 2 раза: 2 + 0 - 1 = 1

Из третьего разряда занимали единицу, там остался 0, поэтому вновь нужно занимать из старшего разряда.

Продолжая вычисления, получим:

100110112 - 10011102 = 10011012

Восьмеричная система:

Выполняем вычисления аналогично двоичной системе, но, занимая из старшего разряда, получаем 8. В результате:

342618 - 44358 = 276248

Шестнадцатеричная система:

A39116 - 853416 = 1E3D16

 

Типовые задания по теме «Системы счисления»

§     А-1. Перевод чисел между десятичной системой счисления и системами с другими основаниями

§     А-2. Перевод чисел между системами счисления с основаниями 2, 8 и 16

§     А-3. Арифметика позиционных систем счисления

Задания представлены в формате PDF.

 

Мы уже познакомились с двумя системами счисления: двоичной и десятичной.Однако, как несложно догадаться, существуют и другие системы счисления, основаниями которых являются числа 3, 4, 5, …

Вообще же, основанием системы счисления может быть любое целое число, большее 1.

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

Может возникнуть вопрос: как может существовать шестнадцатеричная система счисления, если цифр всего 10? Ответ на этот вопрос очень прост: числа 10, 11, 12, 13, 14 и 15 записывают в виде букв A, B, C, D, E, F.


 

Рис. 2. (Источник)

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

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

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

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

Давайте рассмотрим пример, который разобран двумя способами.

Задача. Перевести число   в троичную систему счисления.

Способ 1. Переведём число  сначала в десятичную систему счисления по уже известному алгоритму:


Теперь переведём число 15 из десятичной системы в троичную также по известному алгоритму:

15 делим на 3:

    15   

    5    

    1    

0

2

1

Записываем полученные остатки в обратном порядке: 


.

Получаем:   (Рис. 3).


 

Рис. 3. (Источник)

Способ 2. Переведём число   напрямую в троичную систему.

Для этого поделим его на число 3, только тоже в двоичной системе: .

Получаем:

1111

101

1

0

10

1

Теперь переведём полученные остатки в десятичную систему: 0=0, 10=2, 1=1. Получаем: . То есть, тот же ответ, что и в первом способе (Рис. 4).


Рис. 4. (Источник)

Комментарии

Популярные сообщения из этого блога