Способы представления данных в эвм. Представление данных в эвм

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

Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом ). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом . Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32, 64 битам и т.д.

Двоично-десятичное кодирование

В некоторых случаях при представлении чисел в памяти ЭВМ используется смешанная двоично-десятичная "система счисления", где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18-ю значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант.

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

Другой способ представления целых чисел - дополнительный код . Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Например, величины типа Integer (все названия типов данных здесь и ниже представлены в том виде, в каком они приняты в языке программирования Turbo Pascal. В других языках такие типы данных тоже есть, но могут иметь другие названия) лежат в диапазоне от -32768 (-2 15) до 32767 (2 15 - 1) и для их хранения отводится 2 байта (16 бит); типа LongInt - в диапазоне от -2 31 до 2 31 - 1 и размещаются в 4 байтах (32 бита); типа Word - в диапазоне от 0 до 65535 (2 16 - 1) (используется 2 байта) и т.д.

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

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

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

Например, если число 37 (10) = 100101 (2) объявлено величиной типа Integer (шестнадцатибитовое со знаком ), то его прямым кодом будет 0000000000100101, а если величиной типа LongInt (тридцатидвухбитовое со знаком ), то его прямой код будет. Для более компактной записи чаще используют шестнадцатеричное представление кода. Полученные коды можно переписать соответственно как 0025 (16) и 00000025 (16) .

Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:

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

Например, запишем дополнительный код числа -37, интерпретируя его как величину типа LongInt (тридцатидвухбитовое со знаком):

  1. прямой код числа 37 есть;
  2. инверсный код;
  3. дополнительный код или FFFFFFDB (16) .

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

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

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

Выбор троичной автоматически решил бы проблему кодирования отрицательных чисел, которая в двоичной системе решается введением так называемого инвертирования с учётом первого бита как знакового. О премудростях этой операции для двоичной системы много написано как в интернете, так и в литературе по языку Assember. В случае же троичной логики число могло бы записываться, к примеру, таким образом: «+00-0+0+-». Здесь «+» - экономная запись значения «+1», «-» соответственно - «-1», ну а ноль говорит сам за себя. При переводе на человеческий язык получилось бы следующее: +3^8 + 0 + 0 - 3^5 + 0 + 3^3 + 0 + 3^1 - 3^0 = 6561 - 243 + 27 + 3 - 1 = 6347. Преимущества троичной логики проявились бы и при работе с самыми разнообразными данными: если на некий вопрос предполагается односложный ответ, то двоичный бит может нести в себе один их двух ответов («да» либо «нет»), тогда как троичный трит - уже из трёх («да», «нет», «не определено»). Опытные программисты помнят, как часто нужно хранить один ответ именно из трёх возможных, поэтому для неопределённого значения приходится что-то выдумывать, к примеру - вводить в систему дополнительный параметр (двоичный): была ли она полностью определена к текущему моменту времени.

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

С математической точки зрения троичный компьютер должен быть наиболее эффективным. Строгие выкладки достаточно сложны, но их результат сводится к следующему утверждению: эффективность вычислительной техники тем выше, чем ближе её родная система счисления к числу е (приблизительно равному 2,72). Легко видеть, что тройка к числу 2,72 значительно ближе, чем двойка. Остаётся надеяться лишь на то, что однажды инженеры, ответственные за выпуск электроники, обратят своё внимание на троичную систему счисления. Быть может, это и станет тем прорывом, после которого будет создан искусственный интеллект?

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

N – формула Хартли.

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

Количество информации.

Поскольку каждый бит может принимать одно из двух значений (0 или 1), то последовательность из i – битов может принимать N=2 ͥ различных значений => для любого N – значного алфавита (т.е.состоящего из N знаков), количество бит кот. требуется для представления любого из этих знаков, вычисляется по формуле: i = log2 N. Эта величина принимается в качестве количества информации, содержащейся в сообщении, состоящем из одного знака N-значного алфавита. Мощность – количество знаков в алфавите. Из формулы Хартли следует, что количество информации, содержащейся в сообщении, состоящем из М-знаков (m-разрядное сообщение), когда каждый знак равновероятно взят из алфавита мощностью N равно i = m*log2 N.

Например:

В слове ИНФОРМАТИКА 11 знаков, т.е. m=11. Если используется 32-значный алфавит, то получаем: i=11* log2 32 = 11*5 = 55.

Объём информации.

В отличие от количества, объём информации, записанный двоичными знаками в памяти компьютера или на внешнем носителе, вычисляется по количеству требуемых для такой записи двоичных знаков. Обычно в качестве наименьшей единицы измерения объёма информации используется байт, состоящий из 8 бит => каждый байт может принимать 256 (2^8) различных значений, при этом наименьшим будет 00000000, а наибольшим 11111111. Байты объединяются в более крупные наборы в зависимости от цели использования (ввод, вывод и другие). Для измерения объёма памяти используются и более крупные единицы измерения (Кб, Мб и Гб). Переход от меньшей единицы измерения к большей осуществляется с помощью коэффициента 2^10 = 1024.

1 Кб = 1024 байта

1 Мб = 1024 Кб

1 Гб = 1024 Мб

Для измерения памяти большего объема используют Терабайт (Тб) = 1024 Гб; и Петабайт (Пб) = 1024 Тб.

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


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

Число – это знак, обозначающий определенное количество чего-либо.

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

Например:

В Римской системе V-пять, L-пятьдесят, X-десять. Недостатком таких систем является сложность записи чисел и отсутствие стандартных правил.

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

Например:

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

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

(10.10.2012 г.)

Например, рассмотрим представление чисел в 16-ричной системе счисления. Тогда основание равно 16. Цифры: первые десять цифр (от 0 до 9) мы можем позаимствовать из 10-ричной системы счисления, остальные шесть цифр, соответствующих числовым значениям от 10 до 15 обозначим A, B, C, D, E, F. При этом A = цифра 10, B = цифра 11 и т.д. F = цифра 15. Мы вынуждены сделать такое обозначение в связи с тем, что нельзя цифры обозначать с помощью с помощью других цифр.

Арифметические действия в любой системе счисления выполняется аналогично тому, как это делается в десятеричной системе, следует лишь учитывать величину основания. Например: 15+14=31 (восьмеричная система счисления). В компьютере все данные представляются в двоичной системе счисления. Например:

Четырьмя битами можно представить 16 десятичных чисел (от 0 до 15). В качестве краткой записи при просмотре или изменении двоичных данных используется 16-ричная система счисления. Программы , обеспечивающие «непосредственную» работу человека с данными, хранящимися в памяти компьютера, при взаимодействии с человеком автоматически преобразовывают двоичное представлении данных в 16-ричное и обратно.

Любое данное, записанное в одном байте представляется двумя 16-ричными цифрами, первая из которых соответствует первой четверки битов, а вторая – второй четверки битов. В этом и состоит причина использования 16-ричной системы.

Для представления информации в памяти ЭВМ (как числовой, так и нечисловой) используется двоичный способ кодирования. Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32 битам и т.д. Для кодирования символов достаточно одного байта. При этом можно представить 256 символов (с десятичными кодами от 0 до 255). Набор символов персональных ЭВМ IBM PC чаще всего является расширением кода ASCII (American Standart Code for Information Interchange - стандартный американский код для обмена информацией). В некоторых случаях при представлении в памяти ЭВМ чисел используется смешанная двоично-десятичная «система счисления», где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18 значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант. Другой способ представления целых чисел - дополнительный код. Диапазон значений величин зависит от количества бит памяти, отведенных для их хранения. Например, величины типа Integer (все названия типов данных здесь и ниже представлены в том виде, в каком они приняты в языке программирования Turbo Pascal, в других языках такие типы данных тоже есть, но могут иметь другие названия) лежат в диапазоне от -32768 (-2 15) до 32767 (2 15 - 1), и для их хранения отводится 2 байта; типа Longlnt - в диапазоне от -2 31 до 2 31 - 1 и размещаются в 4 байтах; типа Word - в диапазоне от 0 до 65535 (2 16 - 1) (используется 2 байта) и т.д. Как видно из примеров, данные могут быть интерпретированы как числа со знаками, так и без знаков. В случае представления величины со знаком самый левый (старший) разряд указывает на положительное число, если содержит нуль, и на отрицательное, если - единицу. Вообще разряды нумеруются справа налево, начиная с 0. Ниже показана нумерация бит в двухбайтовом машинном слове. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Дополнительный код положительного числа совпадает с его прямым кодом. Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют таким количеством незначащих нулей, сколько требует тип данных, к которому принадлежит число. Например, если число 37 (10) = 100101 (2) объявлено величиной типа Integer, то его прямым кодом будет 0000000000100101, а если величиной типа Longlnt, то его прямой код будет. Для более компактной записи чаще используют шестнадцатеричный код. Полученные коды можно переписать соответственно как 0025 (16) и 00000025 (16) . Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму: 1) записать прямой код модуля числа; 2) инвертировать его (заменить единицы нулями, нули - единицами); 3) прибавить к инверсному коду единицу. Например, запишем дополнительный код числа (-37), интерпретируя его как величину типа Longlnt: 1) прямой код числа 37 есть; 2) инверсный код; 3) дополнительный код или FFFFFFDB (16) . При получении числа по его дополнительному коду прежде всего необходимо определить его знак. Если число окажется положительным, то просто перевести его код в десятичную систему счисления. В случае отрицательного числа необходимо выполнить следующий алгоритм: 1) вычесть из кода числа 1; 2) инвертировать код; 3) перевести в десятичную систему счисления. Полученное число записать со знаком минус. Примеры. Запишем числа, соответствующие дополнительным кодам: а) 0000000000010111. Поскольку в старшем разряде записан нуль, то результат будет положительным. Это код числа 23; б) 1111111111000000. Здесь записан код отрицательного числа. Исполняем алгоритм: 1) 1111I11111000000 (2) - 1 (2)= 1111111110111111 (2) ; 2) 0000000001000000; 3) 1000000 (2) = 64 (10) . Ответ: -64. Несколько иной способ применяется для представления в памяти персонального компьютера действительных чисел. Рассмотрим представление величин с плавающей точкой. Любое действительное число можно записать в стандартном виде М10 р, где 1

Персональный компьютер IBM PC позволяет работать со следующими действительными типами (диапазон значений указан по абсолютной величине): Покажем преобразование действительного числа для представления его в памяти ЭВМ на примере величины типа Double. Как видно из таблицы, величина это типа занимает в памяти 8 байт. На рисунке показано, как здесь представлены поля мантиссы и порядка: Можно заметить, что старший бит, отведенный под мантиссу, имеет номер 51, т.е. мантисса занимает младшие 52 бита. Черта указывает здесь на положение двоичной запятой. Перед запятой должен стоять бит целой части мантиссы, но поскольку она всегда равна 1, здесь данный бит не требуется и соответствующий разряд отсутствует в памяти (но он подразумевается). Значение порядка для упрощения вычислений и сравнения действительных чисел хранится в виде смещенного числа, т.е. к настоящему значению порядка перед записью его в память прибавляется смещение. Смещение выбирается так, чтобы минимальному значению поряд- ка соответствовал нуль. Например, для типа Double порядок занимает 11 бит и имеет диапазон от 2~ 1023 до 2 1023 , поэтому смещение равно Ю23 (10) = 1111111111 (2) . Наконец, бит с номером 63 указывает на знак числа. Таким образом, из вышесказанного вытекает следующий алгоритм для получения представления действительного числа в памяти ЭВМ: 1) перевести модуль данного числа в двоичную систему счисления; 2) нормализовать двоичное число, т.е. записать в виде М-2 Р, где М- мантисса (ее целая часть равна 1 (2)) и р - порядок, записанный в десятичной системе счисления; 3) прибавить к порядку смещение и перевести смещенный порядок в двоичную систему счисления; 4) учитывая знак заданного числа (0 - положительное; 1 - отрицательное), выписать его представление в памяти ЭВМ. Пример. Запишем код числа -312,3125. 1) Двоичная запись модуля этого числа имеет вид 100111000,0101. 2) Имеем 100111000,0101 = 1,001110000101 2 8 . 3) Получаем смещенный порядок 8 + 1023 = 1031. Далее имеем Ю31 (10) = = 10000000111 (2) . . 4) Окончательно

1) Прежде всего замечаем, что это код положительного числа, поскольку в разряде с номером 63 записан нуль. Получим порядок этого числа: 01111111110 (2) = 1022 (10) ; 1022 - 1023 = -1. 2) Число имеет вид 1,1100011-2“ 1 или 0,11100011. 3) Переводом в десятичную систему счисления получаем 0,88671875.

ЛЕКЦИЯ №1 «Понятие информации, общая характеристика процессов сбора, передачи, обработки и накопления информации»

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

Информация

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

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

Современное научное представление об информации очень точно сформулировал Норберт Винер, "отец" кибернетики. А именно: Информация – это обозначение содержания, полученного из внешнего мира в процессе нашего приспособления к нему и приспособления к нему наших чувств.

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

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

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



Виды существования информации

Информация может существовать в виде:

Текстов, рисунков, чертежей, фотографий;

Световых или звуковых сигналов;

Радиоволн;

Электрических и нервных импульсов;

Магнитных записей; и т.д.

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

Информацию можно:

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

Свойства информации

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

Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать, то есть перестаёт отражать истинное положение дел.

Информация полна , если её достаточно для понимания и принятия решений. Как неполная, так и избыточная информация сдерживает принятие решений или может повлечь ошибки.

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

Ценность информации зависит от того, насколько она важна для решения задачи, а также от того, насколько в дальнейшем она найдёт применение в каких-либо видах деятельности человека.

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

Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной.

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

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

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

Представление данных в ЭВМ

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

Для чисел имеется три числовых формата:

Двоичный с фиксированной точкой;

Двоичный с плавающей запятой;

Двоично-кодированный десятичный (BCD).

Числа с плавающей запятой обрабатываются на специальном сопроцессоре (FPU - floating point unit), который, начиная с МП I486, входит в состав БИС микропроцессора. Данные в нем хранятся в 80-разрядных регистрах.

Система счисления.

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

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

Системы счисления принято подразделять на…

1. Позиционные.

2. Непозиционные.

3. Символические.

Символические . В этих системах каждому числу ставится в соответствие свой символ. Эти системы не находят широкого применения в силу естественной их ограниченности (алхимия, кодированные сообщения) - бесчисленного множества символов, которое требуется для изображения всех возможных чисел. Поэтому эти системы из рассмотрения опустим.