Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Тема 1.1. Числа конечной точности





В результате изучения данной темы Вы будете:

  • понимать особенности машинной арифметики;
  • знать ограничения и недостатки машинной арифметики.

Когда люди выполняют какие-либо арифметические действия, их не волнует во­прос, насколько длинным будет то или иное число. Физики, к приме­ру, могут вычислить, что во вселенной присутствует 1078 электронов, и их не вол­нует тот факт, что полная запись этого числа потребует 79 цифр.

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

Рассмотрим ряд положительных целых чисел, которые можно записать тремя цифрами (тремя разрядами) без десятичной запятой и без знака. В этот ряд входит ровно 1000 чисел: 000, 001, 002, 003,..., 999. При таком ограничении невозможно выразить определенные типы чисел, например:

  1. Числа больше 999.
  2. Отрицательные числа.
  3. Дроби.
  4. Иррациональные числа.
  5. Комплексные числа.

Одно из свойств набора всех целых чисел – замкнутость по отношению к опе­рациям сложения, вычитания и умножения. Другими словами, для каждой пары целых чисел i и j, числа i+j, i-j и i×j – тоже целые числа, например:

1+2=3;

11-7=4;

10*12=120.

Ряд целых чисел не замк­нут относительно деления, поскольку существуют такие значения i и j, для кото­рых i/j не выражается в виде целого числа, например:

7/2 = 3,5;

1/0 = .

Числа же конечной точности не замкнуты относительно всех четырех опера­ций. Ниже приведены примеры операций над трехразрядными числами:

600+600 = 1200 (слишком большое число);

003-005 = -2 (отрицательное число);

050×050 = 2500 (слишком большое число);

007/002 = 3,5 (не целое число).

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

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

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

 

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

a+(b-c) = (a+b)-c

Вычислим обе части выражения для a=700, b=400 и c=300. В левой части сна­чала вычислим значение (b-с), оно равно 100. Затем прибавим это число к а и получим 800. Чтобы вычислить правую часть, сначала вычислим (а+b).

Для трехразрядных целых чисел получится переполнение. Результат будет за­висеть от компьютера, но он не будет равен 1100. Вычитание 300 из какого-то чис­ла, отличного от 1100, не даст результата 800. Ассоциативный закон не имеет силы.

 

Другой пример – дистрибутивный закон:

а×(b-с) = a×b-a×с

Сосчитаем обе части выражения для а=5, b=210 и с=195. В левой части 5×15=75. В правой части 75 не получается, поскольку a×b выходит за пределы ряда.

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

Подведем итоги

  • память компьютеров ограничена, поэтому в них использую числа с ограниченным количеством разрядов – числа конечной точности;
  • при операциях с числами конечной точности возможны отклонения двух видов: ошибки переполнения и ошибки из-за потери значимости.

 

Вопросы для самоконтроля

1. Вспомните особенности и ограничения представления чисел в компьютере. Можно ли сохранить в компьютере любое вещественное число?

2. Можно ли утверждать, что машинная арифметика строго соответствует классической математике? Чем это обусловлено? Приведите примеры.

3. Назовите основные классы отклонений машинной арифметики.

4. Всегда ли выполняются законы алгебры с числами конечной точности? Объясните почему.

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

В результате изучения данной темы Вы будете:

  • знать, что такое системы счисления, каких видов они бывают;
  • иметь представление о применяемых системах счисления в компьютерной технике.

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

Различают позиционные и непозиционные системы счисления. В непозиционных системах счисления каждое число обозначается соответствующей совокупностью символов. Характерным представителем непозиционных систем является римская система счисления со сложным способом записи чисел и громоздкими правилами выполнения арифметических операций. Например, запись MCMXCVIII означает число 1998 (М – тысяча, C – сто, Х – десять, V – пять, I – единица и т. д.).

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

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

Количество цифр, используемых в позиционной системе счисления, называется ее основанием. Его обозначают обычно буквой q. В десятичной системе счисления ис­пользуется десять цифр: 0,1,2,3,4,5,6,7,8,9, и основанием системы является число десять.

В общем случае в позиционной системе счисления с основанием q любое чис­ло Х может быть представлено в виде полинома разложения (суммы) (1.1):

(1.1)

где, X(q) – запись числа в системе счисления с основанием q;

q – основание системы счисления;

хi – целые числа, меньше q;

n – число разрядов (позиций) в целой части числа;

m – число разрядов в дробной части числа.

Например, десятичное число 429,673 можно представить как:

429,673(10) = 4·102 + 2·101 + 9·100 + 6·10-1 + 7·10-2+3·10-3

Для обозначения используемой системы счисления ее основание указывается в ин­дексе в круглых скобках (в нашем примере, это 10). Изображение числа Х в виде последовательности коэффициентов полинома (хi) – является его условной сокращенной записью (кодом):

(1.2)

Запятая такой записи отделяет целую часть числа от дробной и служит началом отсчета значений веса каждой позиции (разряда). Т.е., число 429,673(10) является условно сокращенной записью полинома 4 ·102 + 2 ·101 + 9 ·100 + 6 ·10-1 + 7 ·10-2+ 3 ·10-3.

 

В компьютерах применяются позиционные системы счисления с недесятичным основанием: 2, 8 и 16. Соответствующие системы счисления называютсядвоичной, восьмеричнойишестнадцатеричной.

 
 
Двоичное представление числа требует примерно в 3,3 раза большего числа разря­дов, чем его десятичное представление. Тем не менее, применение двоичной системы счисления создает большие удобства для работы ЭВМ, т. к. для представления в машине разряда двоичного числа может быть использован любой запоминающий элемент, име­ющий два устойчивых состояния.  


Наибольшее распространение получила двоичная система счисления. В этой систе­ме для представления любого числа используются две цифры – цифры 0 и 1. Основа­ние системы счисления q = 2.

Произвольное число с помощью формулы (1.1) можно представить в виде разложе­ния по степеням двойки:

Тогда условная сокращенная запись в соответствии с (1.2) означает изображение числа в двоичной системе счисления (двоичный код числа), где хi = 0 или 1. Например:

13(10) = 1·23 + 1·22 + 0·21 + 1·20 = 1101(2)

 

В восьмеричной системе счисления используют 8 цифр: 0,1,2,3,4,5,6,7. Основание системы счисления q = 8. Для записи произвольного числа в восьме­ричной системе счисления необходимо по формуле (1.1) найти его разложение по сте­пеням восьмерки, а затем воспользоваться условной сокращенной записью (1.2). Например:

28(10) = 3·81 + 4·80 = 34(8)

В шестнадцатеричной системе счисления используют цифры: 0,1,2,3,4,5,6,7,8,9,А,В,С,D,Е,F. Основание системы счисления q = 16. Для записи произвольного числа в этой системе счисления необходимо по формуле (1.1) найти его разложение по степеням 16, а по формуле (1.2) – код. Например:

75(10) = 4·161 + В·160 = 4В(16)

В дальнейшем, для записи шестнадцатеричных чисел будет применяться суффикс h. Например: AE24h, DEFAh, 1234h и т.д.

Для сравнения приведены коды одних и тех же чисел в разных системах счисления (Таблица 1.1).

 

X(10)                  
X(2)                  
X(8)                  
X(16)                  
X(10)                  
X(2)                  
X(8)                  
X(16)   А В С D Е F    

Таблица 1.1. Коды чисел в различных системах счисления

Из Таблица 1.1 видно, что

15(10) = 1111(2) = 17(8) = F(16)

Подведем итоги

  • счислением называется совокупность приемов наименования и записи чисел;
  • под системой счисления понимается способ представления любого числа с помощью цифр;
  • различают позиционные и непозиционные системы счисления;
  • в компьютерах применяются позиционные системы счисления с недесятичным основанием: 2, 8 и 16.

 

Вопросы для самоконтроля

1. Вспомните основные понятия. Что такое счисление, системы счисления, код числа, цифра?

2. Назовите виды систем счислений. В чем заключаются их различия? Назовите преимущества позиционных систем счисления.

3. Что такое основание системы счисления? Почему в вычислительной технике удобнее использовать двоичную систему счисления, а не десятичную?

4.

Какие из следующих цепочек символов являются шестнадцатеричными числами? CAB, BED, DEAD, DECADE, BAG, DAD, ACCEDED.

Индивидуальные задания

1. Попробуйте перевести в десятичную систему счисления числа: 1010001(2), AE12F(16), 4375(8), 5432(6), 34521(9)

_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

2. Напишите первые десять положительных целых чисел в семеричной системе счисления:

_____________________________________________________________________________________

3. Напишите основания систем счисления (q <= 10) к которым могут относится следующие числа: 123, 90, 101, 425, 754, 80101, 1301.

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________







Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.