Представление чисел в ЭВМ




ИНФОРМАТИКА И

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

 

Методические указания к выполнению лабораторных работ по курсу «Информатика и вычислительная техника»

для студентов 1 курса всех специальностей

(Часть I)

 

 

Кемерово 2000

Информатика и вычислительная техника. Методические указаниях к выполнению лабораторных работ по дисциплине «Информатика и вычислительная техника» для студентов 1 курса всех специальностей. Часть 1.

 

 

Составители: к. т. н., доцент кафедры вычислительной

техники и информационных технологий

Лебедева Т.Ф.

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

техники и информационных технологий

Черкасов В.С.

 

Рецензент: к.ф.-м.н., доцент, зав. кафедрой высшей и

прикладной математики Астраков С.Н.

 

Утверждено на заседании кафедры вычислительной техники и информационных технологий Рекомендовано к печати учебно-методической комиссией по математике и информационным дисциплинам
  Протокол № 10   от 20 05 20070г.   Протокол № 2   от 26 05 2007г

 


Общие положения

 

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

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

Студент должен иметь отдельную тетрадь для лабораторных работ.

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

Þ Заголовок (Лабораторная работа №...).

Þ Тема работы.

Þ Задание.

Þ Результат выполнения задания.

Если заданий несколько, то последний пункт повторяется столько раз, сколько заданий содержит работа.

Если необходимо, то ответы на контрольные вопросы можно записать в тетрадь для лабораторных работ.

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

 

Лабораторная работа № 1

 

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

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

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

В общем виде число anan-1 ... a0,a-1a-2 ... a-m в СС с основанием q, является разложением по степеням основания:

anan-1 ... a0,a-1a-2 ... a-m = an · qn + an-1 · qn-1 +...+ a0 · q0 + a-1 · q-1 +

+ a-2 · q-2 +... + a-m· q-m,

где ai - цифры СС.

Пример: 218 = 2·102 + 1·101 + 8·100 = 200 + 10 + 8, основание СС q = 10.

Для записи числа, большего q, требуется больше одной цифры (разряда).

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

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

а) перевод чисел из двоичной СС в них и обратно прост;

б) длина записи числа сравнима с длиной числа в привычной нам десятичной СС.

Запишем некоторые десятичные числа и соответствующие эквиваленты в двоичной, восьмеричной и шестнадцатеричной СС.

Для представления шестнадцатеричных чисел используются цифры (знаки): 0 1 2 3 4 5 6 7 8 9 A B C D E F.

 

Десятичные числа Двоичные числа Восьмеричные числа Шестнадцатеричные числа
       
       
       
       
       
       
       
       
       
       
      А
      В
      С
      D
      Е
      F
       

Перевод чисел из одной СС в другую.

Число в любой позиционной СС можно разложить в степенной ряд, тем самым переведя его в десятичную СС. Пример: 20D7,F16 = 2•163 + 0•162 + 13•161 + 7•160 + 15•16-1 =

8192 + 208 + 7 + 0,94 = 8407,94

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

Цифрами числа в новой СС будут остатки от деления, начиная с последнего.

Пример: переведем число из десятичной в двоичную СС. 3810 СС2 38|_2

38 19|_2

0 18 9|_2

1 8 4 |_2

1 4 2|_2

0 2 1 < старший разряд, отсюда:

0 3810 = 100110 2

выполним проверку: 100110 2 = 1•25 + 0•24 + 0•23 + 1•22 + 1•21 + 0•20 = 32 + 4 + 2 = 3810;

Преобразуем число 6710 вшестнадцатеричную систему счисления:

67|_16

64 4 отсюда 6710 = 43 16;

проверка: 43 16= 4•161 + 3•160 = 64+ 3 = 6710.

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

0, | 125

x | __2 0,12510 0, 001 2

0, | 250

x | __ 2

0, | 500

x | __ 2

1, | 000

При переводе смешанных чисел целая и дробная части переводятся отдельно.

Для записи чисел восьмеричная и шестнадцатеричная СС требуют, соответственно, в 3 и 4 раза меньше цифр (разрядов), чем двоичная СС. Рассмотрим три двоичных разряда (числа из трех цифр): 0002 – 08, 0012 – 18, 0102 – 28, 0112 – 38, 1002 – 48, 1012 – 58, 1102 – 68, 1112 – 78, т.е. один разряд восьмеричной СС (одну восьмеричную цифру) можно представить с помощью трех разрядов двоичной СС (трех двоичных цифр). Следовательно, перевод из восьмеричной СС в двоичную состоит просто в замене каждой восьмеричной цифры соответствующей триадой двоичных цифр. Пример: 3718 011 111 0012. Перевод из двоичной СС в восьмеричную состоит в замене каждой триады эквивалентной цифрой восьмеричной СС. Пример: 10 011 1012 2358.

Аналогично осуществляется перевод чисел из двоичной СС в шестнадцатеричную и обратно с той лишь разницей, что замена производится не тремя, а четырьмя цифрами двоичной СС, 00002 – 08, 00012 – 116, 00102 – 216, 00112 – 316, 01002 – 416, 01012 – 516, 01102 – 616, 01112 – 716, 10002 – 816, 10012 – 916, 10102 – A16, 10112 – B16, 11002 – C16 , 11012 – D16, 11112 – F16.

Пример: 31F,1A16 0011 0001 1111, 0001 10102.

Арифметика в двоичной СС легко реализуется в ЭВМ: 0+0=0; 0+1=1; 1+1=10 (здесь единица переносится в старший разряд); 0*0=0; 0*1=0; 1*1=1.

Задания.

I. Преобразовать следующие числа из десятичной СС в двоичную, восьмеричную и шестнадцатеричную СС.

 

Варианты:

1. 6810; 14410; 21310; 0,45210; 4,83510; 0,110.

2. 4810; 16510; 25310; 0,52310; 2,63510; 0,110.

3. 1710; 14810; 23510; 0,39110; 7,35210; 0,110.

4. 3610; 11110; 24710; 0,61110; 9,75210; 0,110.

5. 7410; 12910; 23310; 0,15510; 3,25410; 0,110.

6. 9310; 11110; 24710; 0,61110; 9,75210; 0,110.

7. 3810; 14310; 21710; 0,13510; 8,34810; 0,110.

8. 8610; 16410; 21110; 0,32510; 7,11210; 0,110.

9. 7310; 12410; 20410; 0,81510; 8,17510; 0,110.

10. 5810; 18110; 23210; 0,72110; 4,22110; 0,110.

11. 8310; 16310; 23410; 0,31510; 6,75810; 0,110.

12. 3910; 15410; 22210; 0,25710; 1,73210; 0,110.

13. 7510; 18310; 25510; 0,61110; 7,35810; 0,110.

14. 3910; 17410; 21410; 0,31510; 5,61710; 0,110.

15. 8110; 13910; 24710; 0,61710; 5,21710; 0,110.

16. 5810; 12710; 23610; 0,17410; 7,62110; 0,110.

 

II. Преобразовать одно число в восьмеричную, а другое в десятичную СС.

 

Варианты:

1.16, СF16. 2. СF16, AD16. 3. В3Е16, А1516. 4. А1Е16, 15Е16. 5. 9А116, Е816. 6. А1Е16, 15Е16. 7. 1ЕС16, FЕ16. 8. 3А116, ЕD16. 9. А316, 4Е116. 10. АВЕ16, Е916. 11. АВ316, 2D16. 12. ВА616 , АЕ16. 13. 9ЕА16, 4В716. 14. 9FА16, ЕА116. 15. DF16, 49116. 16. DF16, 49116.

III. Оценить количество двоичных цифр, необходимых для записи в двоичной СС десятичных чисел из 4-х цифр, из 7 цифр.

IV. Объяснить, почему вещественные (нецелые) числа записываются в компьютере с погрешностью.

V. Оценить эффективность следующих алгоритмов преобразования чисел из 10 - чной СС в 2 - чную: а) сразу ХХХ10 YYYYYYYY2; б) используя 16 - чную СС в качестве промежуточной ХХХ10 ZZ16 YYYYYYYY2.

 

VI. Выполнить арифметические операции (сложение и умножение) над парами двоичных чисел: 10011 и 111; 110111 и 111001; 11,011 и 101,101.

Контрольные вопросы.

1. Что такое система счисления, ее основание?

2. Чем обусловлено использование в ЭВМ двоичной системы счисления?

3. В чем причина погрешности, появляющейся при переводе дробного числа из десятичной в двоичную систему счисления?

 

 

Лабораторная работа № 2

 

Тема: Представление чисел в ЭВМ, кодирование символов.

Цель работы. Изучить способы представления чисел и нечисловой информации в памяти компьютера.

Теоретические предпосылки. В ЭВМ любая информация может быть записана строкой бит (0 и 1), причем длина строки (n бит)фиксирована. Разрядная сетка, т.е. количество разрядов (n), отведенных для записи числа, бывает 8, 16, 32, 64. Очень важным является то, что количество цифр (разрядов) при записи чисел в ЭВМ ограничено.

Представление чисел в ЭВМ

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

Числа с плавающей точкой представляются в виде мантиссы и порядка. Любое число можно представить как N = m•qp, где m – мантисса, q – основание СС (целое число), р – порядок числа (целое число). Для записи очень больших или очень малых чисел, например в физике, пользуются записью вида - a•10b (заряд электрона е=1,6•1019Кул). Представление числа с плавающей запятой исключает эту самую запятую выбором порядка р (b) так, чтобы мантисса была меньше единицы. Следовательно, мантисса – дробное число, меньшее единицы. Если в мантиссе после точки следует цифра отличная от нуля, то число считается нормализованным.

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

Для внутреннего представления чисел используются прямой, обратный, дополнительный коды. Пусть Х – двоичное число, n – количество разрядов для целой части; m – количество разрядов для представления дробной части; k = 1 – количество разрядов для знака.

X = s an-1 an-2…a1 a0 a-1 a-2 …a-m, где s – знак числа.

Прямым кодом [X]прk числа Х называется целое (n+m+k) –разрядное число:

0 an-1 an-2…a1 a0 a-1 a-2 …a-m, если хі 0

[X]прk = 1 an-1 an-2…a1 a0 a-1 a-2 …a-m, если х< 0

 

Пусть n=4, m=5, тогда прямые коды:

[0001,10101] пр= 0 0001 10101 [-0010,11011] пр= 1 0010 11011

Обратным кодом [X]обрk числа Х называется целое (n+m+k) –разрядное число:

0 an-1 an-2…a1 a0 a-1 a-2 …a-m, если хі 0

[X]обр.k = 1 bn-1 bn-2…b1 b0 b-1 b-2 …b-m, если х< 0

bi = 1 - ai инвертированное значение каждого бита.

 

Пусть n=4, m=5, тогда обратные коды:

[0001,10101] обр = 0 0001 10101 [-0010,11011] обр = 1 1101 00100

Внимание! Знак числа не инвертируется.

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

Пусть n=4, m=5, тогда дополнительные коды:

[0001,10101]=0 0001 10101; [-0010,11011]=1 1101 00101.

Рассмотрим операцию вычитания двоичных чисел (n=3, m=0), представив вычитаемое как отрицательное число в дополнительном коде: 5 - 2 =3; 510 01012, 210 00102, –210 11102 (дополнительный код), складываем 5+(–2), 0101 + 1110 в полученном результате «отсекаем» лишний левый бит 1|0011 310

Из примера видно, что для чисел, представленных таким образом, операция вычитания заменяется сложением.

Форма записи чисел с плавающей точкой определяет точность, с которой представлены числа. Допустим, мантисса содержит 5 цифр, тогда всякое число не более, чем с пятью цифрами, можно представить точно, а все остальные - только приближенно. Наличие погрешности имеет следствие: нельзя предполагать точное равенство любых двух чисел с плавающей точкой. Например, два числа в условиях точной арифметики, равные 1,2 в ЭВМ фактически могут превратиться в 1,2001 и 1,1999 и тем самым перестать совпадать. Следует отметить, что перевод чисел из обычной (десятичной) СС в машинную (двоичную) во многих случаях приводит к искажению числа.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: