Представление информации в вычислительной технике Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ.

Презентация:



Advertisements
Похожие презентации
Представление информации в вычислительной технике Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ.
Advertisements

Практическое занятие ОПЕРАЦИИ (сравнение) Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ»
Практическое занятие Ввод-вывод информации Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ»
ВВОДНАЯ ЛЕКЦИЯ Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем ПРОГРАММИРОВАНИЕ ЯЗЫКИ.
форма с фиксированной точкой (применяется к целым числам) форма с плавающей точкой (применяется к вещественным числам)
Представление числовой информации в ПК Мясникова О.К.
Вводная лекция Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем © Кафедра вычислительных.
Кодирование числовой информации Для представления чисел в памяти ПК используются два формата: формат с фиксированной точкой, формат с плавающей точкой.
Представление числовой информации в ПК Диденко В.В.
Арифметические основы компьютера. Системы счисления Системой счисления называется совокупность приемов наименования и записи чисел Система счисления –
Представление чисел в компьютере Терехова Н.А.. Представление чисел в формате с фиксированной запятой.
Представление информации в ЭВМ Урок 1. Основы кодирования информации в ЭВМ Обработка информации в ЭВМ основана на обмене электрическими сигналами между.
Рассчитайтесь по порядку в двоичной системе счисления. Вспомните алгоритм перевода десятичных чисел в двоичную систему счисления.
Целые числа. Целые числа без знака (только положительные) Целые числа со знаком (положительные и отрицательные) Для хранения чисел в памяти отводится.
Представление чисел в компьютере. Правило 1: данные (и программы) в памяти компьютера хранятся в двоичном виде, т. е. в виде цепочек единиц и нулей. Современный.
Кодирование информации Представление чисел в компьютере.
Представление числовой информации в компьютере Компьютерное представление целых чисел.
Лекция 2 С => C++ => C# Большие и маленькие буквы различаются (main, Main, MAIN, mAin – разные имена) После каждого оператора ставится точка с запятой.
Электронная энциклопедия. Содержание Архитектура ПК Системы счисления.
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем УКАЗАТЕЛИ Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем.
Транксрипт:

Представление информации в вычислительной технике Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Дисциплины "ЯЗЫКИ ПРОГРАММИРОВАНИЯ" "ПРОГРАММИРОВАНИЕ"

Принципы фон Неймана (1,2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 2 1.Использование двоичной системы счисления в вычислительных машинах. Цель: технически реализовать устройства хранения информации в двоичной системе счисления существенно проще, чем в устройства, основанные на десятичной системе. Также проще реализовать выполнение арифметических и логических операций. 2.Программное управление ЭВМ. Работа ЭВМ контролируется программой, состоящей из набора команд. Команды выполняются последовательно друг за другом. Цель: вычислительное устройство становится универсальным и может решать широкий круг задач, так как их программа может быть изменена.

Принципы фон Неймана (3-4) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 3 3.Память компьютера используется не только для хранения данных, но и программ. Команды и данные кодируются в двоичной системе счисления, поэтому для их хранения может использоваться одно устройство. Цель: в определенных ситуациях над командами можно выполнять те же действия, что и над данными (изменять их!). 4.Ячейки памяти ЭВМ имеют адреса, которые последовательно пронумерованы. Цель: возможность обращения к произвольным ячейкам памяти в любой момент времени. Данный принцип открыл возможность использовать переменные в программировании.

Принципы фон Неймана (3-5) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 4 5.Возможность условного перехода в процессе выполнения программы. Цель: обеспечить управление процессом вычислений. Не смотря на то, что команды выполняются последовательно, в программах можно реализовать возможность перехода к любому участку кода. Таким образом, входные данные могут влиять на ход выполнения программы. Данный принцип используется при организации ветвлений и циклов в программировании.

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 5 Транзистор Два устойчивых состояния! Конденсатор Ферромагнетики Ячейка памяти (элементная база) Элементная база

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 6 Ячейка памяти (логическое представление) Логическое представление ячейки не зависит от физических компонентов, использованных для ее изготовления. Ячейка рассматривается как набор двоичных разрядов, которые объединяются в группы из 8 штук, образующие байт.

Программные объекты (СИ) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 7 Программа Переменная Функции Хранение данных Группы инструкций

Идентификация программных элементов (СИ) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 8 Компьютерная программа средней сложности содержит тысячи программных объектов. Для того, чтобы уникально идентифицировать их используются "идентификаторы". Идентификатор представляет собой последовательность строчных ("a – z") и прописных ("A – Z") букв латинского алфавита, а также цифр ("0 – 9") и знака подчеркивания ("_"). Идентификатор начинается либо с буквы, либо со знака нижнего подчеркивания. Идентификаторы используются для: 1)формирования имен объектов языка: переменных (ячеек памяти для хранения данных) и функций (групп инструкций программы). 2)ключевых слов языка: типы данных (int, char, float), управляющие конструкции (for, while, if).

Примеры идентификаторов (СИ) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 9 Идентификатор – последовательность строчных ("a – z") и прописных ("A – Z") букв латинского алфавита, а также цифр ("0 – 9") и знака подчеркивания ("_"). Идентификатор начинается либо с буквы, либо со знака нижнего подчеркивания. Допустимые i int test1234 Q1W2E3R4 S _ John_Deer Недопустимые 123 test~ 1Q1W2E3R4 -S _1234=56789 John Deer

Характеристики переменных © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 10 Переменная – ячейка памяти, предназначенная для хранения данных. В языках высокого уровня переменная характеризуется: 1)именем (идентификатор), которое позволяет программисту отличать данную ячейку от множества других, используемых в программе; 2)типом данного, который определяет какую информацию можно хранить в данной ячейке (целые или вещественные числа). Тип данного определяет: формат представления информации; диапазон хранимых значений (размер ячейки памяти); набором допустимых операций.

Тип данного © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 11 В современных процессорах для работы с целыми и вещественными числами используются различные регистры и наборы команд. Поэтому типизация данных присутствует уже в языках низкого уровня. Типизация данных в языках высокого уровня связана тем, что обрабатываемые данные отличаются между собой по следующим параметрам: 1)диапазон значений; 2)внутреннее представление в памяти; 3)занимаемый объем памяти; 4)набор команд процессора, предназначенный для их обработки.

Базовые типы данных (СИ) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 12 Базовые типы данных Целые числа Вещественные числа Беззнаковые (unsigned) Беззнаковые (unsigned) Знаковые (signed) Знаковые (signed) char (1 байт) short (2 байта) int (4 байта) long (4/8 байт) float (4 байта) double (8 байт) long double (12 байт) long double (12 байт) Текст

Целые числа © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 13 ОбозначениеРазмер, байтДиапазон значений [signed] char1[-128; 127] [signed] short2[-32768; 32767] [signed] int4[– ; ] [signed] long4 или 8[-2 63 ; ] (8 байт) ОбозначениеРазмер, байтДиапазон значений unsigned char1[0; 255] unsigned short2[0; 65535] unsigned int4[0; ] unsigned long4 или 8[0; ] (8 байт) Знаковые целые Беззнаковые целые [x] – необязательный элемент

Объявление переменных © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 14 #include int main() { int i, IntegerVariable; double d, D; unsigned short short_val; char c; float f, Fl, f1, f2, f3, f458; signed int sint; }

Внутреннее представление беззнаковых целых (1) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 15 Беззнаковые (unsigned) целые числа в памяти хранятся в виде двоичного представления исходного целого числа. Тип unsigned char: unsigned char c1 = = = unsigned char c2 = = =

Внутреннее представление беззнаковых целых (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 16 unsigned short s1 = = = unsigned short s2 = = = = Беззнаковые (unsigned) целые числа в памяти хранятся в виде двоичного представления исходного целого числа. Тип unsigned short:

Внутреннее представление знаковых целых (1) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» Для представления знаковых целых требуется хранить знак. Один бит способен хранить только 2 значения: 0 и 1, третьего значения для обозначения знака " – " не предусмотрено. В таких ситуациях в вычислительной технике осуществляется "кодирование". Т.е. определяется набор правил, согласно которым по содержимому ячейки можно понять – отрицательное в ней значение или нет. Для кодирования знака в процессорах архитектуры Intel x86 и x86_64 используется "дополнительный код".

Дополнительный код (десятичная система счисления) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 18 Для применения дополнительного кода должно выполняться следующее условие: доступно ограниченное количество D разрядов. Рассмотрим дополнительный код для 4-разрядных десятичных чисел (D=4). Дополнительный код x' для числа x строится следующим образом: Обратное преобразование выполняется по правилу: Положительные Отрицательные

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 19 Дополнительный код (арифметические действия) Особенностью дополнительного кода является то, что сложение и вычитание положительных и отрицательных чисел можно выполнять одинаково. Рассмотрим пример: x = 25, x' = 25 y = -15, y' = – 15 = 9985 x + y = 10 x' + y' = = = 10 x – y = 40 x' – y' = 25 – 9985 = – 9985 = 40 y + x = 10 y' + x' = = = 10 y – x = -40 z' = y' – x' = 9985 – 25 = 9960 |z| = – z' = 9960 = 40, z' > => z < 0

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 20 Дополнительный код (Самостоятельно) x = 3840, x' = ? y = -1056, y' = ? x + y = 2784 x' + y' = ? x – y = 4896 x' – y' = ? y + x = 2784 y' + x' = ? y – x = z' = y' – x' = ? |z| = ? знак z - ? Что будет, если y = ?

Дополнительный код (двоичная система счисления) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 21 В десятичной системе 10 разрядов, поэтому число отрицательно, если его D-й разряд > 5. В двоичной системе разрядов всего два, поэтому число отрицательно, если его D-й разряд = 1 и положительно, если D-й разряд = 0. Получим представление десятичных чисел, рассмотренных ранее в двоичном дополнительном коде: D = 8 (один байт) x = 25 > 0 => x' = = y = -15, |y| = = , y' = – = x' + y' = = = = 10 2 z' = y' – x' = – = |z| = – = = z' => z < 0

Интерпретация значения ячеек памяти © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» a 2 = x 1 x 2 x 3 x 4 x 5 (a 2 = ) a 10 = x x x x x (a 10 = = 21) a 10 = ?

Выбор типа данного © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 23 ТипБеззнаковыйЗнаковый char[0; 255][-128; 127] short[0; 65535][-32768; 32767] int[0; ][– ; ] 1. Возраст человека 2. Расстояние между городами (Новосибирск-Москва ~ 3000 км) 3. Температура на улице 4. Скорость автомобиля 5. Высота над уровнем моря

Выбор типа данного © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 24 ТипБеззнаковыйЗнаковый char[0; 255][-128; 127] short[0; 65535][-32768; 32767] int[0; ][– ; ] 6. Государственный долг США (Табло в Нью-Йорке около Таймс-сквер)

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 25 Внутреннее представление вещественных чисел Вещественные числа помимо знака имеют десятичную запятую (десятичная точка), которая также нуждается в кодировании. В настоящее время для представления вещественных чисел используется формат с плавающей точкой. В этом случае вещественное число f представляется в виде: f = s0,m 10 p-q где s { 1, -1 } – знак, m – мантисса – беззнаковое целое число. p – беззнаковое целое число, разность которого с константой q дает нужную степень 10. Например, пусть константа q = 127, тогда: f = = 10, s = 1, m = 1014, p = 129 f = (s, m, p) = (1, 1014, 129) f = - 0,0015 = (-1)0, s = -1, m = 15, p = 125 f = (s, m, p) = (-1, 15, 125)

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 26 Внутреннее представление вещественных чисел (самостоятельно) f = s0,m 10 p-q где s { 1, -1 } – знак, m – мантисса – беззнаковое целое число. p – беззнаковое целое число, разность которого с константой q дает нужную степень 10. Например, пусть константа q = 127, тогда: f = 150,5 s = ?, m = ?, p = ? f = 1,1984 s = ?, m = ?, p = ? f = 0,00101 s = ?, m = ?, p = ? f = s = ?, m = ?, p = ? f = s = ?, m = ?, p = ?

© Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 27 Тип данного float 0 Размер, выделяемый для хранения: 4 байта (32 бита) (e, m,s) = s1.m 2 (p – q) m: 23 бит; e: 8 бит; s: 1 бит, q = – 1 = mps

Диапазон значений вещественных типов © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 28 ИдентификаторРазмер, байтДиапазон значений float4 от ±3.4· до ±3.4·10 38 (~ 7 значащих цифр) double8 от ±1.7· до ±1.7· (~ 15 значащих цифр) long double12 от ±1.2· до ±1.2· (~22 значащие цифры) ОбозначениеРазмер, байтДиапазон значений unsigned long82 64 – 1 ~ 1.84·10 19 (~19 значащих цифр)

Преобразование типов данных © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 29 Типы данных имеют различное представление в памяти При присваивании происходит преобразование типа данных rvalue к типу данных lvalue. = 1)диапазон rv = lv - простое копирование: 1010 = )диапазон rv < lv - добавление незначащих нулей: )диапазон rv > lv - отбрасывание старших разрядов:

Преобразование типов данных (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 30 Типы данных имеют различное представление в памяти При присваивании происходит преобразование типа данных rvalue к типу данных lvalue. = 1)отбрасывание дробной части: )если целая часть не помещается в диапазон lvalue, то результат не определен: float f = 1E20;

Преобразование типов данных (3) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 31 Типы данных имеют различное представление в памяти При присваивании происходит преобразование типа данных rvalue к типу данных lvalue. = Возможно отбрасывание младших разрядов, не попадающих в мантиссу: int i; float f; i = , f = i = , f = i = , f =

Преобразование типов данных (4) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 32 Типы данных имеют различное представление в памяти При присваивании происходит преобразование типа данных rvalue к типу данных lvalue. = 1)диапазон rv = lv - простое копирование. 2)диапазон rv < lv - добавление незначащих нулей: )диапазон rv > lv возможно переполнение: +/-inf или обнуление. float f; double d = 1E50; f = d; // f == inf

Представление текстовой информации © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 33 Хранение информации возможно только в виде двоичных чисел. Текст не является числом или набором чисел! Требуется способ преобразовать текст в набор чисел (оцифровать) Текст имеет естественное разбиение на: 1.слова 2.буквы

Представление текстовой информации (2) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» 34 Текст кодируется посимвольно. Каждому символу сопоставляется уникальное число. Данное отображение называется кодировкой. Пример: таблица ASCII-кодов. Симв.Код 16 Код 10 'a'6198 'b'6299 'c'63100 'd'64101 'e'65102 'f'66103 Симв.Код 16 Код 10 '1'3048 '2'3149 '3'3250 '4'3351 '5'3452 '6'3553

Представление текстовой информации (3) © Кафедра вычислительных систем ФГОБУ ВПО «СибГУТИ» A.B.C.D.E.F 0. NULSOHSTXETXEOTENQACKBELBSTABLFVTFFCRSOSI 1. DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS 2. !"#$ %&'()*+,./ : ; ? 5.PQRSTUVWXYZ[\]^_ 6.`abcdefghijklmno 7.pqrstuvwxyz{|}~DEL Полная версия таблицы ASCII-кодов. Коды указаны в шестнадцатеричной системе счисления