Форматы чисел в памяти пк

Формат данных Число байт Число значащих десятичных цифр Диапазон значений
короткое вещественное DD 6–7 ±1.2×10-38÷3.4×1038
длинное вещественное DQ 15–16 ±2.3×10-308÷1.8×10308
расширенное вещественное DT 19–20 ±3.4×10-4932÷1.2×104932
целое слово IW 4–5 (-32768) ÷(+32767)
короткое целое ID - 231 ÷ 231-1
длинное целое IQ - 263 ÷ 263-1
S характеристика мантисса DD S характеристика мантисса DQ

31 30 23 22 0 63 62 52 51 0

S характеристика мантисса DT

79 78 64 63 0

S   IW S   ID

15 14 0 31 30 0

S   IQ

63 62 0

Вещественные числа в каждом из трех форматов имеют три поля: поле знака мантиссы S, поле порядка и поле мантиссы. Мантисса числа записывается в нормализованном виде:

1.m1m2 … mi.

Целая часть, всегда равная 1, прямо не представляется в форматах DD и DQ, а учитывается неявно. В формате DT старший бит мантиссы представляется явно.

Порядок вещественных чисел Е записывается в поле порядка в смещенном виде. Он равен истинному порядку, увеличенному на значение смещения:

Е = истинный порядок+ смещение.

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

Значение смещения для соответствующих форматов равно 127, 1023 и 16383:

(-1)S×(1. m1m2 … m23)×2E-127 для DD;

(-1)S×(1. m1m2 … m52)×2E-1023 для DQ;

(-1)S×(1. m1m2 … m64)×2E-16383 для DT.

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

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

Чтобы получить внутреннее представление целого положительного числа N, нужно:

1) перевести число N в двоичную систему счисления,

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

Пример. Получить внутреннее представление 9710.

97|16 9710=6116=0110 00012

96 6

000 0000 0110 0001

15 14 0

Используя шестнадцатеричную систему, этот код можно написать в 4 раза короче:

0061.

Для записи внутреннего представления целого отрицательного числа -N, нужно:

1) получить внутреннее представление целого положительного числа N;

2) получить обратный код этого числа заменой 0 на 1 и 1 на 0 (инвертирование);

3) к полученному числу прибавить 1 – получается дополнительный код.

При сложении числа в дополнительном коде с его положительным значением знаковые разряды складываются как единое целое вместе с числом. Перенос единицы из знакового разряда выходит за пределы ячейки памяти и теряется. Следовательно: N + (-N) = 0, как и должно быть.

Примеры:

1.Получить внутреннее представление -710.

1)Перевод: 710=1112;

2)

000 0000 0000 0111

15 14 0

3)

111 1111 1111 1000

15 14 0

4)

111 1111 1111 1001

15 14 0

В шестнадцатеричной форме: FFF9.

2. Сложим два числа +710 и –710.

  0000 0000 0000 0111 +7 -7
  1111 1111 1111 1001
0000 0000 0000 0000

Представление вещественных чисел в пк

1) Перевести A10 → A2.

2) Нормализовать число.

3) Выполнить смещение порядка.

4) Перевести смещенный порядок Е10 → Е2.

5) Записать число в подходящем формате.

Пример. Число 98.4 записать во внутреннем представлении.

1) 98 |16 9810 = 6216 =0110 00102 ; ×|2 98.410 = 0110 0010.001100112 ;

2 6 0|4

0|8

1|6

1|2

0|4

2) 1.1000 1001 1001… ×26 ;

3) Е10 = 127+6=133;

4) 133 |16 13310=8516 =1000 01012 ;

128 8

5) Подходящий формат DD.

100 0010 1 100 0100 1100 1000 0000 0000 => 42C4C800

31 30 23 22 0

Упражнения

1.Текст занимает полных 5 страниц. На каждой странице размещается 30 строк по 70 символов в строке. Какой объем оперативной памяти (в байтах) займет этот текст?

2. Пользуясь таблицей кодировки символов ASCII, расшифровать текст, представленный в виде шестнадцатеричных кодов символов:

1) 57 69 6E 64 6F 77 73 2D 39 35;

2) 63 6F 6D 65 2D 4F 4E 2D 6C 69 6E 65.

3. Пользуясь таблицей кодировки символов ASCII, закодировать с помощью двоичных кодов следующие слова: 1) EXCEL; 2) Word.

4. Записать в двоичной и шестнадцатеричной форме внутреннее представление наибольшего положительного целого и наибольшего по абсолютной величине отрицательного целого числа в формате IW? Какие это числа в десятичной системе счисления?

5. Представить в двоичной и шестнадцатеричной форме в формате IW внутреннее представление целых десятичных чисел:

256, -511, 31000, -31000.

6. Получить шестнадцатеричную форму внутреннего представления в формате DD и в формате DQ вещественных чисел:

1,5; 1024.0; –123,125.

Глава 2. Основы алгоритмизации

Алгоритмы и величины

Этапы решения задачи на ЭВМ. Работа по решению любой задачи с использованием компьютера делится на следующие этапы:

1.Постановка задачи.

2.Формализация задачи.

3.Построение алгоритма.

4.Составление программы на языке программирования.

5.Отладка и тестирование программы.

6.Проведение расчетов и анализ полученных результатов.

Часто эту последовательность называют технологической цепочкой решения задачи на ЭВМ. Непосредственно к программированию в этом списке относятся п. 3, 4, 5.

На этапе постановки задачи должно быть четко определено, что дано и что требуется найти. Здесь очень важно определить полный набор исходных данных, необходимый для получения решения задачи.

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

Третий этап – построение алгоритма. Опытные программисты часто сразу пишут программы на языках, не прибегая к каким-либо специальным способам описания алгоритмов (блок-схемам, псевдокодам). Однако в учебных целях полезно использовать эти средства, а затем переводить полученный алгоритм на язык программирования.

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

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

– уметь строить алгоритмы;

– знать языки программирования;

– уметь работать в соответствующей системе программирования.

Основой программистской грамотности является развитое алгоритмическое мышление.

Понятие алгоритма.Одним из фундаментальных понятий в информатике является понятие алгоритма. Сам термин «алгоритм» взят из математики. Это слово происходит от “Algorithmi” – латинского написания имени Мухамеда аль-Хорезми (787 – 850), выдающегося математика средневекового Востока. В XII в. был переведен на латинский его математический трактат, из которого европейцы узнали о десятичной позиционной системе счисления и правилах арифметики многозначных чисел. Именно эти правила в то время называли алгоритмами. Сложение, вычитание, умножение «столбиком», деление «уголком» многозначных чисел – вот первые алгоритмы в математике. Правила алгебраических преобразований, вычисление корней уравнений также можно отнести к математическим алгоритмам.

В наше время понятие алгоритма трактуется шире. Алгоритм – это последовательность команд управления каким-либо исполнителем. В школьном курсе информатики с понятием алгоритма, с методами построения алгоритмов ученики знакомятся на примерах учебных исполнителей: Робота, Черепахи, Чертежника и др. Эти исполнители ничего не вычисляют. Они создают рисунки на экране, перемещаются в лабиринтах, перетаскивают предметы с места на место. Таких исполнителей принято называть исполнителями, работающими в обстановке.

В разделе информатики под названием «Программирование» изучаются методы программного управления работой ЭВМ. Следовательно, в качестве исполнителя выступает компьютер. Компьютер работает с величинами – различными информационными объектами: числами, символами, кодами и пр. Поэтому алгоритмы, предназначенные для управления компьютером, принято называть алгоритмами работы с величинами.

Данные и величины

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

форматы чисел в памяти пк - student2.ru

Уровни данных относительно программы

Например, при решении квадратного уравнения ax2 + bx + c = 0 исходными данными являются коэффициенты a, b, c; результатами – корни уравнения: x1, x2; промежуточными данными – дискриминант уравнения: D=b2–4ac.

Для успешного освоения программирования необходимо усвоить следующее правило: всякая величина занимает свое определенное место в памяти ЭВМ. Иногда говорят – ячейку памяти. Хотя термин «ячейка», если учесть архитектуру современных ЭВМ, несколько устарел, однако в учебных целях его удобно использовать.

У всякой величины имеются три основных свойства: имя, значение и тип. На уровне команд процессора величина идентифицируется адресом ячейки памяти, в которой она хранится. В алгоритмах и языках программирования величины делятся на константы и переменные. Константа – неизменная величина и в алгоритме она представляется собственным значением, например: 15, 34.7, ‘k’, true и пр. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами – идентификаторами, например: X, S2, cod15 и пр. Любая константа и переменная занимают ячейку памяти, а значение этих величин определяется двоичным кодом в этой ячейке.

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

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

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

ЭВМ – исполнитель алгоритмов. Как известно, всякий алгоритм (программа) составляется для конкретного исполнителя, в рамках его системы команд. О каком же исполнителе идет речь в теме «программирование для ЭВМ»? Ответ очевиден: исполнителем является компьютер. Точнее говоря, исполнителем является комплекс «ЭВМ + Система программирования (СП)». Программист составляет программу на том языке, на который ориентирована СП. Иногда в литературе по программированию такой комплекс называют «виртуальной ЭВМ». Например, компьютер с работающей системой программирования на Бэйсике называют «Бэйсик-машина»; компьютер с работающей системой программирования на Фортране называют «Фортран-машина» и т.п. Входным языком такого исполнителя является язык программирования ФОРТРАН.

Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд:

– присваивания,

– ввода,

– вывода,

– обращения к вспомогательному алгоритму,

– цикла,

– ветвления.

Для описания алгоритмов в дальнейшем мы будем использовать блок-схемы и учебный алгоритмический язык, применяемый в школьном курсе информатики.

Наши рекомендации