Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ВМ v.0.3.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
501.77 Кб
Скачать

5. Особенности представления чисел в эвм и компьютерной арифметики. Машинное эпсилон и алгоритм его вычисления.

Любые данные в компьютере представляются в виде последовательностей из нулей и единиц. Эти последовательности можно считать словами в алфавите {0,1}. Обработку данных внутри компьютера можно воспринимать как преобразование слов из нулей и единиц по правилам, зафиксированным в микросхемах процессора.

Особенности представления чисел в ЭВМ.

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

1. Представление целых чисел.

Для представления целых чисел используется 3 способа:

  • Прямой код — перевод из десятичной в двоичную систему счисления, с добавлением старшего знакового разряда.

  • Обратный код — инверсия прямого кода.

  • Дополнительный код — прибавление 1 к младшему разряду обратного кода.

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

Положительные числа во всех кодах представляются одинаково.

2. Представление чисел с плавающей точкой.

Числа с плавающей точкой представляются в виде битовых наборов, в которых отводятся разряды для мантиссы, порядка, знака числа и знака порядка:

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

Особенности компьютерной арифметики.

1. Сложение и вычитание в обратном коде.

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

2. Сложение в дополнительном коде.

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

3. Вычитание в дополнительном коде.

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

4. Умножение.

Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размешаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат. Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.

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

Машинное эпсилон — наименьшее положительное число такое, что (знаком обозначено машинное сложение). Грубо говоря, числа и , соотносящиеся так, что машина не различает.

Алгоритм вычисления машинного эпсилон на C#.

using System;

class Program

{

static void Main(string[] args)

{

double e, e1;

int k = 0;

e = 1.0;

do

{

e = e / 2.0;

e1 = e + 1.0;

k++;

}

while (e1 > 1.0);

Console.WriteLine("Число делений на 2: " + k);

Console.WriteLine("Машинный эпсилон: " + e);

Console.ReadKey(true);

}

}

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