Представление информации в компьютере

Автор работы: Пользователь скрыл имя, 31 Мая 2013 в 12:15, контрольная работа

Описание работы

1. Зашифровать данный текст, используя таблицу ASCII-кодов.
2. Pаcшифрованное слово: Procedure.
3. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака:
а) 191(10) б) 210(10) в) 164(10)
4. Записать дополнительный код числа, интерпретируя его как восьмибитовое целое со знаком:
а) 67(10) б) -14(10) в) -84(10)

Файлы: 1 файл

Контрольная по информатике.doc

— 69.50 Кб (Скачать файл)

Вариант 18

  1. Зашифровать данный текст, используя таблицу ASCII-кодов.

Информатика

Стандартная таблица ASCII-кодов содержит 128 символов. В нее не входят буквы русского языка. Используем расширенную таблицу ASCII-кодов, состоящую из 256 символов. Для приведенных в слове букв 16-ричные коды символов равны:

Символ

И

н

ф

о

р

м

а

т

и

к

а

16-код

88

AD

E4

AE

E0

AC

A0

E2

A8

AA

A0


 

Зашифрованное слово: 88 AD E4 AE E0 AC A0 E2 A8 AA A0

  1. Дешифровать данный текст, используя таблицу ASCII-кодов.

Используя стандартную таблицу ASCII-кодов, получим:

16-код

50

72

6F

63

65

64

75

72

65

Символ

P

r

o

c

e

d

u

r

e


 

Pаcшифрованное слово: Procedure

  1. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака:

а) 191(10)     б) 210(10)     в) 164(10)

Прямой код двоичного числа для 8-разрядной ячейки равен самому числу. 
Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины.

191(10) = 128+0+32+16+8+4+2+1 = 10111111(2)

210(10) = 128+64+0+16+0+0+4+0 = 11010010(2)

164(10) = 128+0+32+0+0+4+0+0 = 10100100(2)

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

а) 67(10)     б) -14(10)     в) -84(10)

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

Поэтому дополнительный код числа 67(10) = 64+0+0+0+0+2+1 = 1000011(2)

Дополнительный  код отрицательного числа m равен 2k-|m|, где k - количество разрядов в ячейке. 
Для получения дополнительного k-разрядного кода отрицательного числа необходимо:

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

Представим модуль числа -14(10) в двоичной системе (восьмибитовое целое):

14(10) = 8+4+2+0 = 00001110  

Инвертируем полученное число: 11110001

К полученному  обратному коду прибавим единицу:

11110001

+

               1

11110010

Ответ: 11110010 - число  -14  в дополнительном коде.

 

 

Представим модуль числа -84(10) в двоичной системе (восьмибитовое целое):

84(10) = 64+0+16+0+4+0+0 = 01010100  

Инвертируем полученное число: 10101011

К полученному обратному коду прибавим единицу:

10101011

+

               1

101011100

Ответ: 101011100 - число -84  в дополнительном коде.

 

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

а) 21087(10)     б) 25637(10)

 

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

21087(10) = 16384+0+4096+0+0+512++0+0+64+0+16+8+4+2+1 = 101001001011111(2)

25637(10) = 16384+8192+0+0+1024+0+0+0+0+32+0+0+4+0+1 = 110010000100101(2);

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

а) 24788(10)     б) -21728(10)    

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

 

Дополнительный код положительного числа равен прямому коду этого числа, поэтому дополнительный код числа 24788(10) =16384+8192+0+0+0+0+0+128+64+0+16+0+4+0+0 =                      = 110000011010100(2)

Дополнительный код отрицательного числа m равен 2k-|m|, где k - количество разрядов в ячейке. 
Представим модуль числа -21728(10) в двоичной системе (шестнадцатибитовое целое):

-21728(10) = 16384+0+4096+0+1024+0+0+128+64+32+0+0+0+0+0 = 0101010011100000  

Инвертируем полученное число: 1010101100011111

К полученному  обратному коду прибавим единицу:

1010101100011111

+

                               1

                1010101100100000

 

Ответ: 1010101100100000 - число -21728  в дополнительном коде.

 

 

  1. Записать в десятичной системе счисления целое число, если дан его дополнительный код:

а) 0010010111000011  б) 1010011101101110

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

Число, дополнительный код которого равен 0010010111000011, в десятичной системе равно 8192+0+0+1024+0+256+128+64+0+0+0+0+2+1=9667.

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

вычитаем из дополнительного кода 1;

1010011101101110

-

                               1

1010011101101101

инвертируем код; 0101100010010010

переводим в  десятичную систему счисления; 16384+0+4096+2048+0+0+0+128+0+0+16+0+0+2+0 =

= -22674

полученное  число записываем со знаком минус.

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

а) -704,375

Найдем двоичную запись модуля числа 704(10) =512+0+128+64+0+0+0+0+0+0 =                        = 1011000000(2)

Найдем двоичную запись дробной части 0,375(10) = 0+0,25+0,125 = 0,011

704,375 = 1011000000,011

Нормализуем число: 1011000000,011 = 1,011000000011*29

Найдем смещенный порядок в  десятичном виде: 9+1023=1032(10)

Здесь 1023 – порядок для типа Double.

Переведем в двоичную систему: 1032(10) = 1024+0+0+0+0+0+0+8+0+0+0 = 10000001000

Результат оформим в табличной  форме:

 

Знак

Смещенный порядок

Мантисса

Значение

1

10000001000

0110000000110000000000000000000000000000000000000000

Разряд

63

62..52

51..0


В шестнадцатиричной системе счисления число выглядит следующим образом:

С086030000000000

 

б) -653,375

Найдем двоичную запись модуля числа 653(10) =512+0+128+0+0+0+0+8+4+0 +1 =                        = 10100001101(2)

Найдем двоичную запись дробной  части 0,375(10) = 0+0,25+0,125 = 0,011

653,375 = 10100001101,011

Нормализуем число: 10100001101,011= 1,0100001101011*210

Найдем смещенный порядок в  десятичном виде: 10+1023=1033(10)

Переведем в двоичную систему: 1032(10) = 1024+0+0+0+0+0+0+8+0+0+1 = 10000001001

Результат оформим в табличной форме:

 

Знак

Смещенный порядок

Мантисса

Значение

1

10000001001

0100001101011000000000000000000000000000000000000000

Разряд

63

62..52

51..0


В шестнадцатиричной системе счисления  число выглядит следующим образом:

С094358000000000

 

2) Дан код величины типа Double, записанный шестнадцатиричными цифрами. Преобразовать его в число.

а) 408С014000000000

Преобразуем шестнадцатиричный код в двоичное число в табличной форме:

 

Знак

Смещенный порядок

Мантисса

Значение

0

10000001000

1100000000010100000000000000000000000000000000000000

Разряд

63

62..52

51..0


 

Поскольку в 63 разряде стоит 0, то число  положительное. Найдем порядок числа:

10000001000(2) =1024+0+0+0+0+0+0+8+0+0+0 = 1032(10)

1032 – 1023 = 9

Число имеет вид: 1, 11000000000101*29 = 1110000000,00101(2) или 512+256+128+0+0+0+0+0+0+0,125+0+0,03125 = 896,15625

 

б)С0846С0000000000

Преобразуем шестнадцатиричный код  в двоичное число в табличной  форме:

 

Знак

Смещенный порядок

Мантисса

Значение

1

10000001000

0100110000000000000000000000000000000000000000000000

Разряд

63

62..52

51..0


 

Поскольку в 63 разряде стоит 1, то число  отрицательное. Найдем порядок числа:

10000001000(2) =1024+0+0+0+0+0+0+8+0+0+0 = 1032(10)

1032 – 1023 = 9

Число имеет вид: 1,01001100000000*29 = 1010011000,00000(2) или 512+0+128+0+0+1+1+0+0+0 = 664,0

 

 

http://comp-science.hut.ru/Cod/cod.html

 


Информация о работе Представление информации в компьютере