какая система счисления используется при кодировании информации в компьютере
какая система счислений используется при кодировании информации в компьютере?
двоичная или бинарная (это одно и тоже)
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
01010111010100101010101001000001110110010101110101001010101010010000011101100101011101010010101010100100000111011
01010101011101011010010101010101001010100100101010001010101001010101001000101111010101001010100101010010100101001
Кодирование информации в компьютере
Кодирование информации в компьютере
Вся информация, которую обрабатывает компьютер, должна быть представлена двоичным кодом с помощью двух цифр — 0 и 1. Эти два символа принято называть двоичными цифрами, или битами. С помощью двух цифр 1 и 0 можно закодировать любое сообщение. Это явилось причиной того, что в компьютере обязательно должно быть организовано два важных процесса:
- кодирование, которое обеспечивается устройствами ввода при преобразовании входной информации в форму, воспринимаемую компьютером, то есть в двоичный код; декодирование, которое обеспечивается устройствами вывода при преобразовании данных из двоичного кода в форму, понятную человеку.
С точки зрения технической реализации использование двоичной системы счисления для кодирования информации оказалось намного
более простым, чем применение других способов. Действительно, удобно кодировать информацию в виде последовательности нулей и единиц, если представить эти значения как два возможных устойчивых состояния электронного элемента:
- 0 — отсутствие электрического сигнала или сигнал имеет низкий уровень; 1 — наличие сигнала или сигнал имеет высокий уровень.
Эти состояния легко различать. Недостаток двоичного кодирования — длинные коды. Но в технике легче иметь дело с большим числом простых элементов, чем с небольшим количеством сложных.
Вам и в быту ежедневно приходится сталкиваться с устройством, которое может находиться только в двух устойчивых состояниях: включено/выключено. Конечно же, это хорошо знакомый всем выключатель. А вот придумать выключатель, который мог бы устойчиво и быстро переключаться в любое из 10 состояний, оказалось невозможным. В результате после ряда неудачных попыток разработчики пришли к выводу о невозможности построения компьютера на основе десятичной системы счисления. И в основу представления чисел в компьютере была положена именно двоичная система счисления.
В настоящее время существуют разные способы двоичного кодирования и декодирования информации в компьютере. В первую очередь это зависит от вида информации, а именно, что должно кодироваться: текст, числа, графические изображения или звук. Кроме того, при кодировании чисел важную роль играет то, как они будут использоваться: в тексте, в расчетах или в процессе ввода-вывода. Накладываются также и особенности технической реализации.
Кодирование графической информации
Создавать и хранить графические объекты в компьютере можно двумя способами — как растровое или как векторное изображение. Для каждого типа изображения используется свой способ кодирования.
Растровое изображение представляет собой совокупность точек, используемых для его отображения на экране монитора. Объем растрового изображения определяется как произведение количества точек и информационного объема одной точки, который зависит от количества возможных цветов. Для черно-белого изображения информационный объем одной точки равен 1 биту, так как точка может быть либо черной, либо белой, что можно закодировать двумя цифрами — 0 или 1.
Для кодирования 8 цветов необходимо 3 бита; для 16 цветов — 4 бита; для 6 цветов — 8 битов (1 байт) и т. д.
Кодирование звуковой информации
Звук представляет собой звуковую волну с непрерывно меняющейся амплитудой и частотой. Чем больше амплитуда сигнала, тем он громче для человека, чем больше частота сигнала, тем выше тон. Для того чтобы компьютер мог обрабатывать звук, непрерывный звуковой сигнал должен быть превращен в последовательность электрических импульсов (двоичных нулей и единиц).
В процессе кодирования непрерывного звукового сигнала производится его временная дискретизация. Непрерывная звуковая волна разбивается на отдельные маленькие участки, причем для каждого такого участка устанавливается определенная величина амплитуды. Таким образом, непрерывная зависимость амплитуды сигнала от времени заменяется на дискретную последовательность уровней громкости.
Современные звуковые карты обеспечивают 16-битную глубину кодирования звука. В таком случае количество уровней сигнала будет равно 65536.
При двоичном кодировании непрерывного звукового сигнала он заменяется последовательностью дискретных уровней сигнала. Качество кодирования зависит от количества измерений уровня сигнала в единицу времени, т. е. от частоты дискретизации. Чем больше количество измерений производится за 1 секунду (чем больше частота дискретизации), тем точнее процедура двоичного кодирования.
Представление видеоинформации
В последнее время компьютер все чаще используется для работы с видеоинформацией. Простейшей такой работой является просмотр кинофильмов и видеоклипов. Следует четко представлять, что обработка видеоинформации требует очень высокого быстродействия компьютерной системы.
Что представляет собой фильм с точки зрения информатики? Прежде всего, это сочетание звуковой и графической информации. Кроме того, для создания на экране эффекта движения используется дискретная по своей сути технология быстрой смены статических картинок. Исследования показали, что если за одну секунду сменяется более 10-12 кадров, то человеческий глаз воспринимает изменения на них как непрерывные.
Казалось бы, если проблемы кодирования статистической графики и звука решены, то сохранить видеоизображение уже не составит труда. Но это только на первый взгляд, поскольку, как показывает разобранный выше пример, при использовании традиционных методов сохранения информации электронная версия фильма получится слишком большой. Достаточно очевидное усовершенствование состоит в том, что первый кадр запомнить целиком (в литературе его принято называть ключевым), а в следующих сохранять только отличия от начального кадра (разностные кадры).
Существует множество различных форматов представления видеоданных.
Кодирование информации
Вся информация, которою обработает компьютер, должна быть представлена двоичным кодом с помощью двух цифр – 0 и 1.
Эти два символа 0 и 1 принято называть битами (от англ. binary digit – двоичный знак).
С помощью двух цифр 0 и 1 можно закодировать любое сообщение. Это явилось причиной того, что в компьютере обязательно должно быть организованно два важных процесса:
Кодирование – преобразование входной информации в форму, воспринимаемую компьютером, т.е. двоичный код.
Декодирование – преобразование данных из двоичного кода в форму, понятную человеку.
С точки зрения технической реализации использование двоичной системы счисления для кодирования информации оказалось намного более простым, чем применение других способов. Действительно, удобно кодировать информацию в виде проследовательность нулей и единиц, если представить эти значения как два возможных устойчивых состояния электронного элемента:
0 – отсутствие электрического сигнала;
1 – наличие электрического сигнала.
Эти состояния легко различать. Недостаток двоичного кодирования – длинные коды. Но в технике легче иметь дело с большим количеством простых элементов, чем с небольшим числом сложных.
Вам приходится постоянно сталкиваться с устройством, которое мо
ет находится только в двух устойчивых состояниях: включено/выключено. Конечно же, это хорошо знакомый всем выключатель. А вот придумать выключатель, который мог бы устойчиво и быстро переключаться в любое из 10 состояний, оказалось невозможным. В результате после ряда неудачных попыток разработчики пришли к выводу о невозможности построения компьютера на основе десятичной системы счисления. И в основу представления чисел в компьютере была положена именно двоичная система счисления.
Способы кодирования и декодирования информации в компьютере, в первую очередь, зависит от вида информации, а именно, что должно кодироваться: числа, текст, графические изображения или звук.
Рассмотрим основные способы двоичного кодирования информации в компьютере.
Представление чисел
Для записи информации о количестве объектов используются числа. Числа записываются с использование особых знаковых систем, которые называют системами счисления.
Система счисления – совокупность приемов и правил записи чисел с помощью определенного набора символов.
Все системы счисления делятся на две большие группы: ПОЗИЦИОННЫЕ и НЕПОЗИЦИОННЫЕ.
Самой распространенной из непозиционных систем счисления является римская. В качестве цифр используются: I(1), V(5), X(10), L(50), C(100), D(500), M(1000).
Величина числа определяется как сумма или разность цифр в числе.
MCMXCVIII = 1000+(1000-100)+(100-10)+5+1+1+1 = 1998
Первая позиционная система счисления была придумана еще в Древнем Вавилоне, причем вавилонская нумерация была шестидесятеричная, т.е. в ней использовалось шестьдесят цифр!
В XIX веке довольно широкое распространение получила двенадцатеричная система счисления.
В настоящее время наиболее распространены десятичная, двоичная, восьмеричная и шестнадцатеричная системы счисления.
Количество различных символов, используемых для изображения числа в позиционных системах счисления, называется основанием системы счисления.
Какая система счисления используется при кодировании информации в компьютере
Изучение систем счисления, которые используются в компьютерах, важно для понимания того, каким образом производится обработка числовых данных в ЭВМ.
Система счисления — способ записи чисел с помощью заданного набора специальных символов (цифр) и сопоставления этим записям реальных значений. Все системы счисления можно разделить на непозиционные и позиционные. В непозиционных системах счисления, которые появились значительно раньше позиционных, смысл каждого символа не зависит от того места, на котором он стоит. Примером такой системы счисления является римская, в которой для записи чисел используются буквы латинского алфавита. При этом буква I всегда означает единицу, буква — V пять, X — десять, L — пятьдесят, C — сто, D — пятьсот, M — тысячу и т.д. Например, число 264 записывается в виде CCLXIV. Недостатком непозиционных систем является отсутствие формальных правил записи чисел и, соответственно, арифметических действий с многозначными числами. Правила выполнения вычислений с многозначными числами в позиционной системе счисления были разработаны средневековым математиком Мухамедом аль-Хорезми и в Европе были названы алгоритмами (от латинского написания имени аль-Хорезми – Algorithmi).
Таким образом, целое положительное число А в позиционной системе счисления можно представить выражением:
или , где p — основание системы счисления, целое положительное число; a — cимвол (цифра); n — номер старшего разряда числа.
Обозначения цифр берутся из алфавита, который содержит p символов. Каждой цифре соответствует определенный количественный эквивалент. Обозначение ak следует понимать как цифру в k-м разряде. Всегда выполняется неравенство: ak
Запись A(p) указывает, что число А представлено в системе счисления с основанием р:
Примером системы счисления является всем нам хорошо известная десятичная система счисления. Любое число в ней записывается с помощью цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Важно, что значение каждой цифры зависит от того места, на котором она стоит в этой записи. Например, 1575: цифра 5 в записи числа встречается дважды: цифра 5 в последнем разряде — число единиц, а цифра 5, находящаяся в записи числа левее, — число сотен. Т.к. значение каждой цифры (ее «вес») определяется той позицией, которую цифра занимает в записи числа, то система счисления называется позиционной. В десятичной системе счисления значение единицы каждого разряда в 10 раз больше единицы соседнего с ним правого разряда.
Само число 10 называется основанием системы счисления, а цифры, используемые в десятичной системе — базисными числами этой системы.
Но в качестве основания системы счисления можно выбрать любое целое число. Чтобы отличить, в какой системе счисления записано число, будем указывать основание системы счисления в виде индекса в десятичной системе счисления, заключенного в круглые скобки. Если основание системы счисления равно 10 или очевидно из контекста, то индекс будет опущен.
Двоичная система счисления имеет набор цифр <0, 1>, р=2. В общем виде, используя формулу (1), двоичное число можно представить выражением:
Например, число 101101(2) можно записать так:
101101(2) = 1*2 5 +0*2 4 +1*2 3 +1*2 2 +0*2 1 +1*2 0
Двоичная система счисления имеет особую значимость в информатике: внутреннее представление любой информации в компьютере является двоичным, т.е. описывается набором символов только из двух знаков 0 и 1.
Шестнадцатеричная система счисления имеет набор цифр <0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F>, p = 16. Для изображения чисел в шестнадцатеричной системе счисления требуются 16 цифр. Для обозначения первых десяти цифр используются цифры десятичной системы счисления, шесть остальных — первых шесть прописных букв латинского алфавита. По формуле (1) шестнадцатеричное число может быть представлено так:
1. Число E7F8140 по формуле (4) запишется так:
Представление информации, хранящейся в памяти компьютера, в ее истинном двоичном виде весьма громоздко из-за большого количества цифр. Поэтому при записи такой информации на бумаге или выводе ее на экран принято использовать восьмеричную или шестнадцатеричную системы счисления. В современных компьютерах чаще используется шестнадцатеричная система счисления.
Полезно помнить некоторые степени двойки и шестнадцати.
k | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2 k | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 |
16 k | 16 | 256 | 4096 | 65536 | 1048576 |
Соответствие чисел в различных системах счисления
Десятичная | Шестнадцатеричная | Двоичная |
0 | 0 | 0 |
1 | 1 | 1 |
2 | 2 | 10 |
3 | 3 | 11 |
4 | 4 | 100 |
5 | 5 | 101 |
6 | 6 | 110 |
7 | 7 | 111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
10 | A | 1010 |
11 | B | 1011 |
12 | C | 1100 |
13 | D | 1101 |
14 | E | 1110 |
15 | F | 1111 |
Арифметические операции, выполняемые в позиционных системах счисления
В вычислительной технике наиболее часто выполняется операция сложения. Пусть заданы два целых положительных числа в позиционной системе счисления с основанием р. Запишем эти числа в виде:
Сумма этих чисел равна числу, которое может быть записано в аналогичном виде:
Вычисления выполняются по следующим правилам:
В качестве примера рассмотрим арифметические операции в двоичной системе счисления.
Арифметические операции над числами в двоичной системе счисления
Рассмотрим правила выполнения арифметических операций над однозначными числами. Представим их в виде таблиц.
2. Найти разность двух чисел 10101(2) и 1010(2):
3. Умножить два числа 1011(2) и 101(2):
Перевод чисел из одной системы счисления в другую
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
Для перевода чисел из любой системы счисления в десятичную можно воспользоваться выражением (1). Сначала в десятичную систему счисления переводится основание той системы, из которой осуществляется перевод, а затем цифры исходного числа. Результаты подставляются в выражение (1). Полученная сумма дает искомый результат.
С7(16) = 12*16 1 + 7*16 0 = 192 + 7 =199 (10) ;
1010 (2) = 1*2 3 + 1*2 1 = 8+2 10.
Эквивалентными являются алгоритмы для вычисления значения многочлена в некоторой точке х, заданные следующими формулами:
Запись (9) носит название вычислительной схемы Горнера.
Алгоритм, задаваемый формулой (9) требует меньше арифметических операций и сводится к выполнению последовательной цепочки операций умножения и сложения в порядке их записи слева направо, поэтому при переводе чисел в десятичную систему счисления можно воспользоваться схемой Горнера.
Чтобы перевести целую часть числа из десятичной системы счисления в систему с основанием р, необходимо разделить ее на р, остаток даст младший разряд числа. Полученное частное вновь делят на р — остаток даст следующий разряд числа и т.д.
Пример. Перевести десятичное число 25 в двоичную систему счисления:
25 : 2 = 12 (остаток 1);
12 : 2 = 6 (остаток 0),
6 : 2 = 3 (остаток 0),
3 : 2 = 1 (остаток 1),
1 : 2 = 0 (остаток 1).
Перевод чисел из десятичной системы счисления в шестнадцатеричную производится аналогично.
Для перевода целых чисел из десятичной системы счисления в систему счисления с основанием р:
Преобразования чисел из двоичной в восьмеричную и шестнадцатеричную системы и наоборот просты потому, что числа 8 и 16 являются целыми степенями числа 2.
Для того, чтобы перевести число, записанное в восьмеричной системе в двоичный код, необходимо каждую цифру восьмеричного числа представить триадой двоичных символов. Лишние нули в старших разрядах отбрасываются. Например:
12345667(8) = 001 010 011 100 101 110 110 111(2) =
= 1 010 011 100 101 110 110 111(2).
Обратный перевод производится так: каждая триада двоичных цифр заменяется восьмеричной цифрой. Для правильного перевода число должно быть выровнено, т.е. число двоичных знаков должно быть кратно трем. Выравнивание производится простым дописыванием требуемого количества нулей перед старшим разрядом целой части числа. Например:
При переводах чисел между двоичным и шестнадцатеричным системами счисления используются четверки двоичных чисел — тетрады. При необходимости выравнивание выполняется до длины двоичного числа, кратной четырем. Например:
12345ABCDEF(16) = 1 0010 0011 0100 0101 1010 1011 1100 1101 1110 1111(2);
11001111010 1110(2) = 0110 0111 1010 1110(2) = 67AF(16).
При переходе из восьмеричной системы счисления в шестнадцатеричную и обратно используется вспомогательный, двоичный код числа. Например:
1234567(8) = 001 010 011 100 101 110 111(2)
= 0101 0011 1001 0111 0111(2) = 53977(16);
1267ABC(16) = 0001 0010 0110 0111 1010 1011 1100(2)
= 010 010 011 001 111 101 010 111 100(2) = 223175274(16).
Кодирование информации
В качестве наименьшей единицы измерения информации принят 1 бит. 1 бит соответствует одному разряду в двоичной системе счисления. Эта система лежит в основе архитектуры компьютеров. Для представления всего многообразия величин в компьютере объединяют несколько двоичных разрядов. Поэтому более крупными единицами измерения И в компьютере являются: 1 байт = 8 бит; 1 Кбайт=210 байт; 1 Мбайт = 210 Кбайт; 1 Гбайт = 210 Мбайт.
Поскольку информация в компьютере хранится в дискретной форме, для ее записи используется некоторый конечный набор знаков, называемый алфавитом. Очень часто в качестве алфавита используется таблица кодов, содержащая около 256 знаков. Каждому знаку соответствует числовой код. Этот код хранит образ соответствующего знака в памяти компьютера. Для понимания системы кодирования информации необходимо рассмотреть правила преобразования числовых кодов в различные системы счисления.
Таким образом, для хранения одного символа в ASCII-кодировке требуется 1 байт памяти компьютера. Однако 8-битовая кодировка является недостаточной для кодировки всех символов расширенных алфавитов. Все препятствия могут быть сняты при переходе на 16-битовую кодировку Unicode, допускающую 65536 кодовых комбинаций.
Числа кодируются особым образом. Например, целое число, в зависимости от типа, может кодироваться одним, двумя или четырьмя байтами. Для получения кода положительного целого числа достаточно перевести его из десятичной в двоичную систему счисления, например, десятичное число 12 кодируется как двоичное 00001100 (при однобайтовом типе числа). Отрицательные целые числа часто кодируются в так называемом дополнительном коде, когда старший двоичный разряд используется как признак отрицательности числа, а остальные разряды должны быть такими, чтобы сумма отрицательного числа и его модуля равнялась нулю. Так, десятичное число –1 будет представлено как двоичное 1111111111111111 (при двухбайтовом типе числа). Минимально допустимое двухбайтовое число — 32768 кодируется как 1000000000000000, а максимальное 32767 — как 0111111111111111.
Для вещественных чисел система кодирования является более сложной. Обычно для каждого числа часть байтов отводится для хранения мантиссы числа, а часть — для порядка числа.