
- •6. Представление символьной информации в эвм
- •7.Как представляются в компьютере вещественные числа?
- •Целые числа без знака
- •Целые числа со знаком
- •Диапазоны значений целых чисел со знаком
- •12) Архитектура персонального компьютера.
- •17) Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.
Информатика – это область человеческой деятельности, связанная с процессами преобразования информации с помощью компьютеров и их взаимодействием со средой применения.
Информатика занимается изучением процессов преобразования и создания новой информации более широко, практически не решая задачи управления различными объектами. Информатика появилась благодаря развитию компьютерной техники, базируется на ней и совершенно немыслима без нее.
Информатика как прикладная дисциплина занимается:
изучением закономерностей в информационных процессах (накопление, переработка, распространение);
созданием информационных моделей коммуникаций в различных областях человеческой деятельности;
разработкой информационных систем и технологий в конкретных областях и выработкой рекомендаций относительно их жизненного цикла: для этапов проектирования и разработки систем, их производства, функционирования и т.д.
Главная функция информатики заключается в разработке методов и средств преобразования информации и их использовании в организации технологического процесса переработки информации.
Задачи информатики состоят в следующем:
исследование информационных процессов любой природы;
разработка информационной техники и создание новейшей технологии переработки информации на базе полученных результатов исследования информационных процессов;
решение научных и инженерных проблем создания, внедрения и обеспечения эффективного использования компьютерной техники и технологии во всех сферах общественной жизни.
Информатика существует не сама по себе, а является комплексной научно-технической дисциплиной, призванной создавать новые информационные техники и технологии для решения проблем в других областях. Комплекс индустрии информатики станет ведущим в информационном обществе. Тенденция к большей информированности в обществе в существенной степени зависит от прогресса информатики как единства науки, техники и производства.
2 Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.
3. В Двоичной системе счисления в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.
Перевод чисел из двоичной системы счисления в десятичную.
В двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.
В десятичной системе счисления любое число можно представить в форме суммы единиц, десяток, сотен и т.д. Например:
1476 = 1000 + 400 + 70 + 6
Можно пойти еще дальше и разложить так:
1476 = 1 * 103 + 4 * 102 + 7 * 101 + 6 * 100
Почему двоичная система счисления так распространена?
Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.
Перевод десятичного числа в двоичное
Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:
77 / 2 = 38 (1 остаток) 38 / 2 = 19 (0 остаток) 19 / 2 = 9 (1 остаток) 9 / 2 = 4 (1 остаток) 4 / 2 = 2 (0 остаток) 2 / 2 = 1 (0 остаток) 1 / 2 = 0 (1 остаток)
Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:
1001101 = 1*26 + 0*25 + 0*24 + 1*23 + 1*22 + 0*21 + 1*20 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77
4. В десятичную систему счисления
из двоичной
101,012 =
= 1 * 22 + 0 * 21 + 1 * 20 + 0 * 2-1 + 1 * 2-2 =
= 4 + 0 + 1 + 0 + 1/4 =
= 5,2510
из восьмеричной
253,318 =
= 2 * 82 + 5 * 81 + 3 * 80 + 3 * 8-1 + 1 * 8-2 =
= 128 + 40 + 3 + 3/8 + 1/64 =
= 171 + 0,375 + 0,015625 =
= 171,39062510
из шестнадцатеричной
42D16 =
= 4 * 162 + 2 * 161 + 13 * 160 =
= 1024 + 32 + 13 =
= 106910
Из десятичной системы счисления
При переводе целых чисел из десятичной системы счисления последовательно выполняют деление этого числа и получаемых целых частных на основание выбранной системы счисления. Деление выполняют до тех пор, пока частное не будет равно нулю.Число получают путем «сбора» остатков, начиная с конца.
в двоичную
34 / 2 = 17 (0)
17 / 2 = 8 (1)
8 / 2 = 4 (0)
4 / 2 = 2 (0)
2 / 2 = 1 (0)
1 / 2 = 0 (1)
3410 = 1000102
в восьмеричную
472 / 8 = 59 (0)
59 / 8 = 7 (3)
7 / 8 = 0 (7)
47210 = 7308
в шестнадцатеричную
924 / 16 = 57 (12)
57 / 16 = 3 (9)
3 / 16 = 0 (3)
92410 = 39C16
Перевод десятичных дробей из десятичной системы счисления
Дробь в десятичной системе счисления последовательно умножают на основание выбранной системы счисления пока не получиться нулевая дробная часть или достигнута требуемая точность. При каждом последующем умножении целая часть отбрасывается. Целые части результатов и составляют новую дробь. Записываются по порядку.
в двоичную дробь
0,225 * 2 = 0,45
0,45 * 2 = 0,9
0,9 * 2 = 1,8
0,8 * 2 = 1,6
0,6 * 2 = 1,2
0,2 * 2 = 0,4
0,4 * 2 = 0,8
0,8 * 2 = 1,6
…
0,22510 = 0,00111001…2
в восьмеричную дробь
0,225 * 8 = 1,8
0,8 * 8 = 6,4
0,4 * 8 = 3,2
0,2 * 8 = 1,6
0,6 * 8 = 4,8
…
0,22510 = 0,16314…8
в шестнадцатеричную дробь
0,225 * 16 = 3,6
0,6 * 16 = 9,6
0,6 * 16 = 9,6
…
0,22510 = 0,699…16
5.Представление чисел в памяти компьютера имеет специфическую особенность, связанную с тем, что в памяти компьютера числа должны располагаться в байтах — минимальных по размеру адресуемых ячейках памяти. Адресом числа считают адрес первого байта. В байте может содержаться произвольный код из восьми двоичных разрядов.
1. Целые числа представляются в памяти компьютера с фиксированной запятой. В этом случае каждому разряду ячейки памяти компьютера соответствует один и тот же разряд числа, запятая находится справа после младшего разряда (то есть вне разрядной сетки).
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит).
Десятичное число |
Двоичный код |
0 |
0000 0000 |
1 |
0000 0001 |
2 … |
0000 0010 … |
254 |
1111 1110 |
255 |
11111111 |
Для кодирования целых чисел от 0 до 65 535 требуется шестнадцать бит; 24 бита позволяют закодировать более 16,5 миллионов разных значений.
Если для представления целого числа в памяти компьютера отведено N бит, то количество различных значений будет равно 2N.
Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках стоят единицы. Если под представление целого положительного числа отведено N бит, то максимальное значение будет равно 2N -1.
Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют необходимым количеством незначащих нулей, соответствующим количеству незаполненных разрядов, отведённых для хранения числа.
2. Для представления целых чисел со знаком старший (левый) разряд отводится под знак числа. Если число положительное, то в знаковый разряд записывается 0, если число отрицательное, то — 1.
Максимальное значение целого числа со знаком достигается в случае, когда в старшем разряде стоит 0, а во всех остальных ячейках стоят единицы. Если под представление целого числа со знаком отведено N бит, то максимальное значение будет равно 2N-1-1. Поскольку количество возможных значений в N битах равно 2N-1, то в случае представления целых чисел со знаком количество отрицательных значений на единицу больше количества положительных значений. Такая ситуация связана с тем, что для представления нуля во всех ячейках стоят нули. Если же в знаковом разряде стоит единица, а во всех остальных разрядах нули, то это представление соответствует отрицательному (как правило, наименьшему) числу.
Пример. Запишем вид числа -58 в памяти компьютера в 8-разрядном представлении.
Так как 5810 = 1110102, то число в памяти компьютера будет представлено следующим образом:
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Представление в памяти компьютера целых положительных чисел совпадает с прямым кодом.
3. Другой способ представления целых чисел — дополнительный код.
Дополнительный код целого отрицательного числа может быть получен по следующему алгоритму:
записываем прямой код модуля числа;
инвертируем его (заменяем единицы нулями, нули единицами);
прибавляем к инверсному коду единицу.
Пример. Запишем дополнительный код числа -58 в 8-разрядном представлении.
1) Прямой код числа 58 есть 00111010; 2) инверсный (обратный) код 11000101; 3) дополнительный код 11000110.
4. При получении числа по его дополнительному коду необходимо определить его знак. Если число окажется положительным, то переводим его код в десятичную систему счисления.
В случае отрицательного числа необходимо выполнить следующий алгоритм:
вычитаем из кода числа 1;
инвертируем код;
переводим в десятичную систему счисления;
полученное число записываем со знаком минус.
Пример 1. Запишем число, соответствующее дополнительному коду 00110110.
Так как в старшем разряде данного числа нуль, то результат будет положительным. После перевода числа из двоичной системы счисления в десятичную получаем 54.
Пример 2. Запишем число, соответствующее дополнительному коду 10110110.
Так как в старшем разряде данного числа единица, то результат будет отрицательным. Вычитаем из кода единицу: 10110110 - 1 = 10110101. Инвертируем код: 01001010. Переводим в десятичную систему счисления 010010102 = 7410. Полученное число записываем со знаком минус: — 7410.
6. Представление символьной информации в эвм
В отличие от обычной словесной формы, принятой в письменном виде, символьная информация хранится и обрабатывается в памяти ЭВМ в форме цифрового кода. Например, можно обозначить каждую букву числами, соответствующими ее порядковому номеру в алфавите: А - 01, Б - 02, В - 03, Г - 04, ... , Э - 30, Ю - 31, Я - 32. Точно так же можно договориться обозначать точку числом 33, запя¬тую - 34 и т.д. Так как в устройствах автоматической обработки ин¬формации используются двоичные коды, то обозначения букв надо перевести в двоичную систему. Тогда буквы будут обозначаться следующим образом: А - 000001, Б - 000010, В - 000011, Г - 000100, ... , Э - 011110, Ю - 011111, Я - 100000. При таком кодировании любое слово можно представить в виде последовательности кодовых групп, составленных из 0 и 1. Например, слово ЭВМ выглядит так: 011110000011001110.
При преобразовании символов (знаков) в цифровой код между множествами символов и кодов должно иметь место взаимно¬однозначное соответствие, т.е. разным символам должны быть наз¬начены разные цифровые коды, и наоборот. Это условие является единственным необходимым требованием при построении схемы преобразования символов в числа. Однако существует ряд прак¬тических соглашений, принимаемых при построении схемы преоб¬разования исходя из соображений наглядности, эффективности, стандартизации. Например, какое бы число ни назначили коду для знака О (не следует путать с числом 0), знаку 1 удобно назначить число, на единицу большее, чем код О, и т.д. до знака 9. Аналогичная ситуация возникает и при кодировке букв алфавита: код для Б на единицу больше кода для А, а код для В на единицу больше кода для Б и т. д. Таким образом, из соображений наглядности и легкости запоминания целесообразно множества символов, упорядоченных по какому-либо признаку (например, лексико-графическому), коди¬ровать также с помощью упорядоченной последовательности чисел.
Другим важным моментом при организации кодировки сим¬вольной информации является эффективное использование опера¬тивной памяти ЭВМ. Так как общеупотребительными являются при¬мерно 100 знаков (сюда помимо цифр, букв русского и английского алфавитов, знаков препинания, арифметических знаков входят знаки перевода строки, возврата каретки, возврата на шаг и т.п.), то для, взаимно-однозначного преобразования всех знаков в коды достаточно примерно сотни чисел. Значение этого выбора заключается в том, что для размещения числа из этого диапазона в оперативной памяти достаточно одного байта, а не машинного слова. Следовательно, при такой организации кодировки достигается существенная экономия объема памяти.
При назначении кодов знакам надо также учитывать соглашения, касающиеся стандартизации кодировки. Можно назначить знаковые коды по своему выбору, но тогда возникнут трудности, связанные с необходимостью обмена информацией с другими организациями, использующими кодировку, отличную от нашей. В настоящее время существует несколько широко распространенных схем кодирования. Например, код BCD (Binary-Coded Decimal) — двоично-десятичный код используется для представления чисел, при котором каждая десятичная цифра записывается своим четырехбитовым двоичным эквивалентом. Этот код может оказаться полезным, когда нужно преобразовать строку числовых знаков, например, строку из числовых знаков «2537» в число 2537, над которым затем будут-производиться арифметические действия. Расширением этого кода является EBCDIC (Extended Binary-Coded Decimal Interchange Code) -расширенный двоично-десятичный код обмена информацией, который преобразует как числовые, так и буквенные строки.
В ЭВМ типа PDP (или СМ) применяется код ASCII (AmericanJ Standard Code for Information Interchange) - американский стандартный код обмена информацией. Этот код генерируется некоторыми внешними устройствами (принтером, АЦПУ) и используется для обмена данными между ними и оперативной памятью ЭВМ. Например когда нажимаем на терминале клавишу G, то в результате этого действия код ASCII для символа G (1000111) передается в ЭВМ. A если надо этот символ распечатать на АЦПУ, то его код ASCII должен быть послан на печатающее устройство.
Отечественной версией кода ASCII является код КОИ-7 семибитовый код обмена информацией, который совпадает с ним, за исключением букв русского алфавита.