Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika_bilety_loll (1).docx
Скачиваний:
12
Добавлен:
27.09.2019
Размер:
6.36 Mб
Скачать

1) Представление информации в эвм.

Числовая информация в компьютере кодируется в двоичной или двоично-десятичной системах счисления, а текстовая информация представляется в основном в коде ASCII.

Особенности представления информации в ПК.

Для представления буквенной и символьной информации внутри ПК стандартно используются коды ASCII или Unicode.

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

Количество двоичных разрядов в группе

Наименование единицы измерения

1

Бит

8

Байт

8*20

Параграф

8*1024

Кбайт (килобайт)

8*10242

Мбайт (мегабайт)

8*10243

Гбайт (гигабайт)

8*10244

Тбайт (терабайт)

8*10245

Пбайт (пентабайт)

Последовательность нескольких битов и байтов часто называют полем данных. Биты в числе (слове, поле и т.п.) нумеруются справа налево, начиная с 0-го разряда. В ПК могут обрабатываться поля постоянной и переменной длины.

Поля постоянной длины: слово – 2 байта; двойное слово – 4 байта; полуслово – 1 байт; расширенное слово – 8 байт. Числа с фиксированной запятой чаще всего имеют формат слова и полуслова; числа с плавающей запятой - формат двойного и расширенного слова (математические сопроцессоры IBM PC могут работать с 10-байтными словами).

Поля переменной длины могут иметь любой размер от 0 до 255 байт, но обязательно равный целому числу байтов. Например, структурно запись двоичного числа -110000012, равного десятичному -19310, в разрядной сетке ПК выглядит следующим образом:

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

В упакованном формате для каждой десятичной цифры (Цф) отводится по четыре двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 – знак “+” и 1101 - знак “-“):

Упакованный формат используется в ПК обычно при выполнении операций сложения и вычитания двоично-десятичных чисел.

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

Распакованный формат используется в ПК при вводе/выводе информации, а также при выполнении операций умножения и деления двоично-десятичных чисел.

2) Система счисления (СС) – способ именования и изображения чисел с помощью символов, имеющих определенные количественные значения.

В непозиционной СС цифры не меняют своего количественного значения при изменении их расположения в числе.

В позиционной СС количественное значение каждой цифры зависит от ее места (позиции) в числе.

Количество P различных цифр, используемых для изображения числа в позиционной СС – основание СС (значения цифр лежат в пределах от 0 до (P-1)).

В общем случае запись любого смешанного числа в СС с основанием P:

N = am-1*Pm-1 + am-2*Pm-2 + … + ak*Pk + a0*P0 + a-1*P-1 + a-2*P-2 +…+ a-s*P-s,

где ai – цифры, используемые в СС для формирования чисел, 0 ≤ ai ≤ (P-1).

Нижние индексы определяют местоположение цифры в числе (разряд):

- положительные значения индексов – для целой части числа (m разрядов);

- отрицательные значения индексов – для дробной (s разрядов).

Максимальное целое число, которое может быть представлено в m разрядах: Nmax = Pm – 1.

Минимальное значащее, не равное 0 число, которое можно записать в s разрядах дробной части: Nmin = P-s.

Можно записать всего Pm+s разных чисел.

А) Двоичная СС.

2 формы представления двоичных чисел:

-естественная, или форма с фиксированной запятой (точкой);

-нормальная, или форма с плавающей запятой (точкой).

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

P-s ≤ N ≤ Pm – P-s

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

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

N = ±MP^∓r,

Где M – мантисса числа (|M|<1);

P – основание СС;

r – порядок числа (целое число).

P-mP-(p^(-s) - 1) ≤ N ≤ (1 – P-m)*P(p^(-s) – 1) , где m разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов M и r).

Для чисел в нормализованном виде в старшем разряде мантиссы стоит значащая цифра (не ноль).

Числа могут быть положительными (в двоичной СС знак “+” кодируется цифрой 0) и отрицательными (в двоичной СС знак “-“ кодируется цифрой 1).

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

П рямой код числа – [N]пр.

[N]пр = N, если N ≥ 0,

1-N, если N < 0.

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

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

Операции умножения и деления в прямом коде выполняются обычным образом, но знак результата будет “+”, если знаки обоих операндов совпадают, иначе будет “-“.

Вычитание в этом коде НЕЛЬЗЯ заменить сложением, поэтому возникают сложности, связанные с займом значения из старшего разряда уменьшаемого числа.

Обратный код числа – [N]обр.

Для обратного кода используется инверсия значений разрядов. Обозначение означает величину, обратную a, если a = 1, то = 0, и наоборот. При этом:

- если N > 0, то [N]обр = [N]пр = 0,aa…a;

- если N < 0, то [N]обр = 1, … ;

- если N = 0, то [0]обр = 0,00…0 или [0]обр = 1,11…1.

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

Итак,

[ N]обр = N, если N ≥ 0,

10 – 1*10-n + N, если N ≤ 0.

Дополнительный код числа – [N]доп:

- если N 0, то [N]доп = [N]пр = 0,aa…a;

- если N 0, то [N]доп = 1, … + 0,00…1.

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

Неоднозначности в изображении числа 0 нет.

Итак,

[ N]доп = N, если N ≥ 0,

10 + N, если N < 0.

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

Правила выполнения арифметических операций в двоичной СС аналогичны правилам выполнения операций в десятичной СС.

Особенности выполнения операций над числами с плавающей запятой.

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

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

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

Выполнение арифметических операций над числами, представленными в дополнительных кодах.

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

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

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

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

Особенности выполнения операций в обратных кодах.

Обратные коды следует складывать как обычные двоичные числа, поступая со знаковыми разрядами, как с обычными разрядами, а если возникает единица переноса из знакового разряда, ее следует прибавить к младшему разряду суммы кодов.

Б) Восьмеричная СС — это позиционная система счисления с основанием 8. Для записи чисел в восьмеричной системе используется 8 цифр от нуля до семи (0,1,2,3,4,5,6,7).

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

Широкое применение восьмеричной системы в электронной вычислительной технике объясняется тем, что для нее характерен легкий перевод в двоичную и обратно с помощью простой таблицы, в которой все цифры восьмеричной системы от 0 до 7 представлены в виде двоичных триплетов (троек):

08

0002

18

0012

28

0102

38

0112

48

1002

58

1012

68

1102

78

1112

Для перевода просто заменяем цифру восьмеричного числа на соответствующий триплет двоичных чисел:

15238 = 001 101 010 0112

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

15238 = 11010100112

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

11101111012 = 001 110 111 1012 = 16758

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

Сейчас восьмеричная система используется для назначения прав доступа к файлам и каталогам в UNIX-подобных системах (Linux, FreeBSD).

В) Шестнадцатеричная СС.

При программировании иногда используется шестнадцатеричная СС, перевод чисел из которой в двоичную СС весьма прост – он выполняется поразрядно. Для изображения цифр, больших 9, применяются буквы A=10, B=11, C=12, D=13, E=14, F=15. Например, F17B в двоичной СС выглядит так: 1111000101111011.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]