
Томский межвузовский центр дистанционного образования
Томский государственный университет
систем управления и радиоэлектроники (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
Контрольная работа № 1
по дисциплине «Информатика»
(Учебное пособие «Информатика»,
автор Фефелов Н.П., 2005 г. )
Выполнил:
студент ТМЦДО
гр.: _____________
специальности 220400
_____________________
«___» __________ 200__ г.
_________________
2009 г
1 Общие указания
Эта часть контрольной работы №1 предназначена для закрепления принципов и форматов представления символьных и числовых данных в современных вычислительных системах. Она содержит две части: представление чисел и кодирование символьных данных.
Каждый студент выполняет индивидуальное задание, которое генерируется программой VARY.EXE (см. Учебно-методическое пособие):
два числа в системе счисления с основанием шесть для кодирования числовых данных (раздел 2);
номер фразы символьной кодировки (раздел 3).
Фразы для кодирования и таблицы кодов приведены в Учебно-методическом пособии (тонкая книга).
Перед выполнением самостоятельной работы следует познакомиться по литературе с принципами кодирования и представления данных различных типов в ЭВМ. Для кодирования символьных данных используются различные кодовые таблицы, а символ кодируется числом без знака размером в один байт.
Для кодирования чисел используется позиционная система счисления с различными основаниями: 10, 2, 8, 16 и другие. Необходимо освоить методы перевода чисел из системы счисления с одним основанием в систему счисления с другим основанием.
Следует познакомиться с прямым, обратным и дополнительными кодами числа и различными форматами хранения чисел с фиксированной и плавающей точками (байт, слово, двойное слово).
Студент оформляет отчет о выполнении задания в файле рабочей тетради. В соответствующих местах расписываются операции для получения нужных данных и результаты. Заполненный файл высылается в университет для рецензирования.
Индивидуальное задание для выполнения:
– два шестеричных числа: 444026 и 204446 ;
– номер фразы для символьной кодировки: ___50______.
2 Представление чисел
2.1 Заполните таблицу степеней чисел 2, 6, 8, 16.
N |
2 |
6 |
8 |
16 |
1 |
2 |
6 |
8 |
16 |
2 |
4 |
36 |
64 |
256 |
3 |
8 |
216 |
512 |
4096 |
4 |
16 |
1296 |
4096 |
65536 |
5 |
32 |
7776 |
32768 |
1048576 |
6 |
64 |
46656 |
262144 |
16777216 |
7 |
128 |
279936 |
2097152 |
268435456 |
8 |
256 |
1679616 |
16777216 |
4294967296 |
9 |
512 |
10077696 |
134217728 |
|
10 |
1024 |
60466176 |
1073741824 |
|
11 |
2048 |
|
|
|
12 |
4096 |
|
|
|
13 |
8192 |
|
|
|
14 |
16384 |
|
|
|
15 |
32768 |
|
|
|
16 |
65536 |
|
|
|
17 |
131072 |
|
|
|
18 |
262144 |
|
|
|
19 |
524288 |
|
|
|
20 |
1048576 |
|
|
|
21 |
2097152 |
|
|
|
22 |
4194304 |
|
|
|
23 |
8388608 |
|
|
|
24 |
16777216 |
|
|
|
25 |
3354432 |
|
|
|
26 |
67108864 |
|
|
|
27 |
134217728 |
|
|
|
28 |
268435456 |
|
|
|
29 |
536870912 |
|
|
|
30 |
1073741824 |
|
|
|
31 |
2147483648 |
|
|
|
32 |
4294967296 |
|
|
|
Степень числа 2 сосчитать до N=32, степень числа 16 до N = 8, а степень чиcел 6 и 8 до N = 10.
2.2 Заполните таблицу отрицательных степеней числа 2
N |
2N |
-1 |
0,5 |
-2 |
0,25 |
-3 |
0,125 |
-4 |
0,0625 |
-5 |
0,03125 |
-6 |
0,015625 |
.
2.3 Заполните таблицу кодов чисел в разных системах счисления для значений от 0 до 32.
-
10
2
8
16
0
0
0
0
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
16
10000
20
10
17
10001
21
11
18
10010
22
12
19
10011
23
13
20
10100
24
14
21
10101
25
15
22
10110
26
16
23
10111
27
17
24
11000
30
18
25
11001
31
19
26
11010
32
1A
27
11011
33
1B
28
11100
34
1C
29
11101
35
1D
30
11110
36
1E
31
11111
37
1F
32
100000
40
20
2.4 Запишите выражения для перевода чисел индивидуального задания из шестеричной в десятичную систему счисления двумя способами: 44402 и 20444
– записью полной формы числа в виде полинома:
444026 = 4*64+4*63+4*62+0*61+2*60 = 619410
204446 = 2*64+0*63+4*62+4*61+4*60 = 276410
– записью полинома по схеме Горнера.
444026 = (((4*6+4)*6+4)*6+0)*6+2 = 619410
204446 = (((2*6+0)*6+4)*6+4)*6+4 = 276410
Вычислите значения по обеим формам записи полинома. Вы получите десятичные значения чисел. Какой способ вычисления полиномов удобнее, почему?
Способ вычисления по схеме Горнера более удобный.
2.5 Переведите полученные десятичные числа в двоичную систему счисления. Распишите процесс перевода делением на 2.
Первое число 619410
6194 |2_
6 3097 |2_
19 2 1548 |2_
18 10 14 774 |2_
14 10 14 6 387 |2_
14 9 14 17 2 193 |2_
0 8 8 16 18 18 96 |2_
17 8 14 18 13 8 48|2_
16 0 14 7 12 16 4 24|2_
1 0 6 1 16 8 2 12 |2_
1 0 8 4 12 6 |2_
0 4 0 6 3|2_
0 0 2 1
1
619410 = 11000001100102
Второе число 276410
2764 |2_
2 1382 |2_
7 12 691 |2_
6 18 6 345 |2_
16 18 9 2 172 |2_
16 2 8 14 16 86 |2_
4 2 11 14 12 8 43 |2_
4 0 10 5 12 6 4 21|2_
0 1 4 0 6 3 2 10 |2_
1 0 2 1 10 5|2_
1 0 4 2 |2_
1 2 1
0
276410 = 1010110011002
2.6 Аналогично переведите десятичные числа в шестнадцатеричную систему счисления.
Первое число 619410 Второе число 276410
6194 |16_ 2764 |16_
48 387|16_ 16 172 |16_
139 32 24 |16_ 116 16 10
128 67 16 1 112 12 А
114 64 8 44 С
112 3 32
2 12
С
619410 = 183216 276410 = АСС16
2.7 Не применяя арифметических операций, получите из двоичного кода восьмеричный и шестнадцатеричный коды чисел.
Первое число:
11000001100102 = 140628 = 183216;
Второе число
1010110011002 = 53148 = АСС16;
2.8 Представьте двоичные числа как положительные целые числа в формате слова (16 разрядов, старший разряд - знак числа).
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
Второе число:
2.9 Измените знак двоичных чисел, то есть получите дополнительные коды чисел в формате слова.
Первое число: 619410
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Обратный код:
Дополнит. код:
Сумма прямого
и дополн. кодов
Второе число: 276410
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Обратный код:
Дополнит. код:
Сумма прямого
и дополн. кодов
2.10 Зачеркните два старших нуля в кодах положительных двоичных чисел формата слова и дополните эти коды справа восемнадцатью нулями. Вы получили коды чисел с плавающей точкой одинарной точности (двойное слово, 32 разряда). Значения этих чисел не совпадают с целыми числами.
Первое число 619410
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Второе число 276410
31 |
30 |
29 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
19 |
18 |
17 |
16 |
15 |
14 |
13 |
12 |
11 |
10 |
09 |
08 |
07 |
06 |
05 |
04 |
03 |
02 |
01 |
00 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
характеристика мантиса
Знак
УКАЗАНИЕ: в коде числа с плавающей точкой нумерация разрядов производится справа, начиная с нуля. В коде числа одинарной точности знак мантиссы занимает разряд с номером 31, характеристика разряды 3023, мантисса220. Учтите, что мантсса нормализована в диапазоне 1 <= M < 2 и считается 24 – разрядной (старший разряд мантиссы всегда равен 1 и не хранится в коде числа). Характеристика есть увеличенный на 127 порядок числа.
2.11 Выделите двоичный код характеристики, запишите формулу для перевода ее в десятичное число и вычислите десятичное представление характеристики.
Первое число 619410 Характеристика:
110000012 = ((((((1*2+1)*2+0)*2+0)*2+0)*2+0)*2+0)*2+1 = 19310
Второе число _________10 Характеристика:
010101102 = ((((((0*2+1)*2+0)*2+1)*2+0)*2+1)*2+1)*2+0 = 8610
2.12 По характеристике вычислите порядок числа в десятичном представлении.
Первое число – порядок: 193 – 127 = 66
Второе число – порядок: 86-127 = – 41
2.13 Выделите двоичный код мантиссы числа и запишите мантиссу в двоичном представлении (код мантиссы еще не мантисса). Правые нули дробной части можно опустить. Распишите формулу для перевода мантиссы в десятичную систему счисления как числа с целой и дробной частью и получите десятичное значение мантиссы.
Первое число – мантисса:
1,10012 = 1*20+1*2-1+0*2-2+0*2-3+1*2-4 = 1,562510
Второе число – мантисса:
1,0112 = 1*20+0*2-1+1*2-2+1*2-3= 1,37510
2.15 Запишите значения чисел в виде десятичной мантиссы и двоичного порядка, например: 1.5625*2^-68.
Первое число: 1,5625*266
Второе число: 1,375*2-41