Учебное пособие: Методические указания для проведения лабораторной работы Томск 2009

Название: Методические указания для проведения лабораторной работы Томск 2009
Раздел: Остальные рефераты
Тип: учебное пособие

Министерство образования Российской Федерации

Томский политехнический университет

Кафедра компьютерных измерительных систем и метрологии

________________________________________________

И Н Ф О Р М А Т И К А

Кодирование информации. Основные форматы данных.

(Часть вторая)

Методические указания для проведения

лабораторной работы

Томск 2009

Дисциплина : Информатика.

Время выполнения : 2 часа

Разработали : Казаков В. Ю.

Рейтинг : 100

1. Цель работы: изучение понятия – «машинное представление информации», машинное представление действительных чисел, машинное представление текстовой информации (ASCII – коды).

2. Используемые технические средства: персональный компьютер, ОС Windows 9x/XP.

3. Программа работы.

3.1. Ознакомиться с базовыми положениями «машинного представления действительных чисел», используя Приложение 1.

3.2. Ознакомиться с двоичным кодированием текстовой информации с помощью ASCII -кодов, используя Приложение 2 .

3.4. Выполнить задания своего варианта.

3.5.Сделать выводы и оформить отчет о проделанной лабораторной работе.

Приложение 1

Формы представления чисел в ЭВМ

Числа с фиксированной точкой

Ранее рассмотренное машинное представление целого числа можно трактовать как представление числа с фиксированной точкой. Число с фиксированной точкой имеет один знаковый разряд, остальные разряды являются значащими. «Фиксированная точка» означает, что любое целое число можно трактовать как некоторую дробь, умноженную на соответствующий масштабный множитель. К достоинствам использования чисел с фиксированной точкой относятся простота выполнения арифметических операций. К недостаткам – небольшой диапазон представления чисел.

Числа с плавающей точкой

В формате с фиксированной точкой нельзя пред­ставить очень большие числа или очень маленькие. При выполнении деления двух больших чисел, как правило, теряется дробная часть частного. При работе в десятичной системе счисления ученые давно нашли выход из по­ложения, применяя для представления числовых величин так называемую научную нотацию (способ записи). Так, число 976 000 000 000 000 можно представить в виде 9.76·1014 , а число 0.000 000 000 000 097 6 – в виде 9.76·10 - 14 . При этом раздели­тельная точка динамически сдвигается в удобное место, а для того чтобы "уследить" за ее положением в качестве второго множителя – характеристики, – использует­ся степень числа 10 (основание характеристики). Это позволяет с помощью неболь­шого числа цифр (т.е. чисел с ограниченной разрядностью) с успехом представлять как очень большие, так и очень малые величины.

Этот же подход можно применить и в двоичной системе счисления. Число можно представить в виде

Компоненты такого представления можно сохранить в двоичном слове, со­стоящем из трех полей:

• поле знака числа (плюс или минус);

• поле мантиссы m ;

• поле порядка p .

Основание характеристики q во всех существующих стандартах такой фор­мы представления подразумевается неявно и не сохраняется, поскольку оно оди­наково для всех чисел.

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

32-разрядный формат с плавающей точкой. В крайнем левом бите слова хранится знак числа (как обычно, положительному числу соответствует значение 0, а отрицательному – значение 1). В следующих восьми битах хра­нится значение порядка. Для представления порядка используется так называемый смещенный формат .

Рис. 3.1

Для получения действительного двоичного кода порядка необходимо вычесть из значения в этом поле фиксированное смещение. Обычно смещение равно (2k -1 – 1). Например, при k =8 смещение равно 127. Последние 23 бита отводятся под значение мантиссы. Любое число можно представить в виде числа с плавающей точкой множеством способов. С изменением порядка точка перемещается (плавает) влево или вправо. Например,

Поэтому для установления однозначности при записи чисел принята нормализованная форма записи числа . Мантисса нормализованного числа может изменяться в диапазоне: (q =2 , ). Таким образом, в нормализованных числах первая цифра после точки должна быть значащей. Например,

ненормализованное нормализованное

число число

Следовательно, в двоичном представлении нормализованная мантисса числа, отличного от нуля, всегда имеет вид:

.

Здесь, b – это произвольная двоичная цифра (0 или 1). Так как старший значащий разряд всегда хранит 1, то его нет смысла запоминать, просто необходимо учитывать это факт при совершении дальнейших действий. Поэтому в 23-х битах фактически хранится код 24-х битовой мантиссы. Например,

0.11010001· 210100 → 0 10010011 10100010000000000000000

– 0.11010001· 210100 → 1 10010011 10100010000000000000000

0.11010001· 2-10100 → 0 01101011 10100010000000000000000

– 0.11010001· 2-10100 → 1 01101011 10100010000000000000000

Обратите внимание на следующие особенности:

  • знак сохраняется в старшем бите слова;
  • первый разряд мантиссы всегда равен 1, и в поле мантиссы не хранится;
  • к действительному значению порядка прибавляется смещение 127, и в поле порядка хранится эта сумма;
  • основание характеристики всегда равно 2 и поэтому не хранится.

Рис. 3.2

На рис. 3.2 показано, какой диапазон чисел можно представить в рассмот­ренном 32-разрядном формате с плавающей точкой. Если в слове такой же дли­ны хранить целые числа в дополнительном коде, то диапазон представления будет охватывать 232 чисел от –231 до 231 –1 включительно. В формате с плавающей точкой можно хранить:

  • отрицательные числа от – (1– 2–24 ) × 2128 до – 0.5 × 2 –127 ;
  • положительные числа от 0.5 × 2 –127 до (1–2 –24 ) × 2128 .

Формат с плавающей точкой не позво­ляет представить больше чем в формате с фиксированной точкой отличающихся друг от друга числовых величин – их количество по-прежнему равно 232 для слова длиной 32 бит. Речь идет только о том, что эти числовые величины по-иному распределены на числовой оси. Интервал между соседними числами (кодовыми комбинациями, отличающимися значением в младшем разряде мантиссы) – переменный и зависит от абсолютной величины числа. "Соседние" числа, ближе расположенные к центру числовой оси, отличаются на меньшую величину, чем "соседние" числа более удаленные от центра числовой оси (рис. 3.3).

Рис. 3.3

Для унификации представления чисел с плавающей точкой институт инженеров по электротехнике и радиоэлектронике (IEEE) разработал стандарт IEEE 754. В последнее десятилетие практически все процессоры проектируются с учетом этого стандарта. Приведенный выше пример представляет формат с плавающей точкой обычной точности.

Таким образом, для представления числа в формате IEEE 754 с плавающей точкой с обычной точностью необходимо придерживаться следующего алгоритма:

1) представить число в двоичном виде – 10.62510 = 1010.101;

2) записать число в научной нотации, мантисса должна быть нормализована – 1010.101 = 0.1010101· 24 = 0.1010101· 2100 ;

3) записать знак числа – 0;

4) записать порядок – 410 + 12710 = 100 + 0111 1111=1000 0011;

5) привести окончательную запись числа – 0 10000011 01010100000000000000000.

Приложение 2

Форматы представления текста в ЭВМ

Для представления текстовой информации используется алфавитное кодирование, т.е. каждому символу – значку, цифре или букве, ставится в соответствии его двоичный код. Американский национальный институт стандартов (ANSI) принял 8 – битный код для текстовой информации ASCII –American Standard Code for Information Interchange. Изначально предполагалось использовать только 7 бит (127 – вариантов символов), а восьмой оставить для контроля. Поэтому в стандарте строго регламентированы только первые 128 (0 – 127) позиций. Широкое распространение ASCII – кодов привело к тому, что их стало не хватать для символов различных языков и других целей.

Поэтому оставшиеся возможности (128 – 255) стали использовать под различные национальные кодировки. В связи с этим первые 128 позиций строго регламентированы, а оставшиеся позиции используются по мере необходимости. В России для отображения кириллицы широкое распространение получили следующие варианты кодировок: КОИ8, 866-MS DOS, 1251-Windows.

Таблица 3.1

0 (nul)

16 (dle)

32 (sp)

48 0

64 @

80 P

96 `

112 p

1 ( soh)

17 (dc1)

33 !

49 1

65 A

81 Q

97 a

113 q

2 (stx)

18 (dc2)

34 "

50 2

66 B

82 R

98 b

114 r

3 (etx)

19 (dc3)

35 #

51 3

67 C

83 S

99 c

115 s

4 (eot)

20 ¶ (dc4)

36 $

52 4

68 D

84 T

100 d

116 t

5 (enq )

21 § (nak)

37 %

53 5

69 E

85 U

101 e

117 u

6 (ack)

22 (syn)

38 &

54 6

70 F

86 V

102 f

118 v

7 • (bel)

23 (etb)

39 '

55 7

71 G

87 W

103 g

119 w

8 (bs)

24 (can)

40 (

56 8

72 H

88 X

104 h

120 x

9 (tab)

25 (em)

41 )

57 9

73 I

89 Y

105 i

121 y

10 (lf)

26 → (eof)

42 *

58 :

74 J

90 Z

106 j

122 z

11 (vt)

27 ← (esc)

43 +

59 ;

75 K

91 [

107 k

123 {

12 (np)

28 (fs)

44 ,

60 <

76 L

92 \

108 l

124 |

13 (cr)

29 ↔ (gs)

45 -

61 =

77 M

93 ]

109 m

125 }

14 (so)

30 (rs)

46 .

62 >

78 N

94 ^

110 n

126 ~

15 ( si )

31 ( us )

47 /

63 ?

79 O

95 _

111 o

127

Далее приводятся ASCII – коды кириллицы в варианте 866-MS DOS.

Таблица 3.2

128 А

144 Р

160 а

176

192

208

224 р

240 Ё

129 Б

145 С

161 б

177

193

209

225 с

241 ё

130 В

146 Т

162 в

178

194

210

226 т

242 Є

131 Г

147 У

163 г

179

195

211

227 у

243 є

132 Д

148 Ф

164 д

180

196

212

228 ф

244 Ї

133 Е

149 Х

165 е

181

197

213

229 х

245 ї

134 Ж

150 Ц

166 ж

182

198

214

230 ц

246 Ў

135 З

151 Ч

167 з

183

199

215

231 ч

247 ў

136 И

152 Ш

168 и

184

200

216

232 ш

248 °

137 Й

153 Щ

169 й

185

201

217

233 щ

249

138 К

154 Ъ

170 к

186

202

218

234 ъ

250 ·

139 Л

155 Ы

171 л

187

203

219

235 ы

251

140 М

156 Ь

172 м

188

204

220

236 ь

252

141 Н

157 Э

173 н

189

205

221

237 э

253 ¤

142 О

158 Ю

174 о

190

206

222

238 ю

254

143 П

159 Я

175 п

191

207

223

239 я

255

Задание

1. Представить числа в формате с плавающей точкой обычной точности.

2. Перевести число из двоичного формата с плавающей точкой обычной точности в десятичное представление.

3. Используя ASCII кодировку в варианте 866 (MS-DOS), представить в двоичном виде текст.

4. Расшифровать ASCII код.

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

1. Объясните необходимость использования «смещенного порядка» в машинной записи числа с плавающей точкой.

2. Раскройте термин «нормализованная мантисса».

3. Чем отличаются машинные представления чисел 0.0 и 0.5 ∙ 10-127

4. Объясните большое разнообразие ASCII кодировок для кириллицы.

Варианты заданий к лабораторной работе

№1

1) 32128. 25; – 20.0056 2) 0 11100010 01111000001110000000000

1 11100010 01111000001110000000000 3) «Привет student № 1» 4) 48 65 6C 6C 6F 20 4E 31

№2

1) 10128. 025; – 320.054 2) 0 11000010 01101000001110000000000

1 11000010 01101000001110000000000 3) «Привет student № 2» 4) 48 65 6C 6C 6F 20 4E 32

№3

1) 9711. 34; – 120.059 2) 0 10100010 00111000001110000000000

1 10100010 00111000001110000000000 3) «Привет student № 3» 4) 48 65 6C 6C 6F 20 4E 33

№4

1) 318. 725; – 51.76 2) 0 11100000 01111000000110000000000

1 11100000 01111000000110000000000 3) «Привет student № 4» 4) 48 65 6C 6C 6F 20 4E 34

№5

1) 12128.1; – 2001.46 2) 0 11101010 01110000001110000000000

1 11101010 01110000001110000000000 3) «Привет student № 5» 4) 48 65 6C 6C 6F 20 4E 35

№6

1) 1028. 35; – 10.64 2) 0 11100010 01111000001010000000000

1 11100010 01111000001010000000000 3) «Привет student № 6» 4) 48 65 6C 6C 6F 20 4E 36

№7

1) 402128. 5; – 123.6 2) 0 11100010 01101000001110000000000

1 11100010 01101000001110000000000 3) «Привет student № 7» 4) 48 65 6C 6C 6F 20 4E 37

№8

1) 1222.8; б) – 23.19 2) 0 11100010 01101000001110000000000

1 11100010 01101000001110000000000 3) «Привет student № 8» 4) 48 65 6C 6C 6F 20 4E 38

№9

1) 33128. 625; – 21.056 2) 0 11100011 11111000001110001100000

1 11100011 11111000001110001100000 3) «Hello студент № 9» 4) 39 20 20 79 65 61 72 20 0D 0A

№10

1) 128. 025; – 324.054 2) 0 11010010 01111000001110000000000

1 11010010 01111000001110000000000 3) «Hello студент № 10» 4) 31 30 20 64 61 79 20 0D 0A

№11

1) 9011. 34; – 126.59 2) 0 10100010 00111000001110001100000

1 10100010 00111000001110001100000 3) «Hello студент № 11» 4) 48 65 6C 6C 6F 20 4E 33

№12

1) 310. 725; – 501.76 2) 0 11100010 01111000000110000000000

1 11100010 01111000000110000000000 3) «Hello студент № 12» 4) 48 65 6C 6C 6F 20 4E 34

№13

1) 1128.1; – 204.56 2) 0 11101110 01110000001110000000000

1 11101110 01110000001110000000000 3) «Привет student № 13» 4) 48 65 6C 6C 6F 20 4E 35

№14

1) 1328. 35; – 13.64 2) 0 11100010 01111001001010000000000

1 11100010 01111001001010000000000 3) «Привет student № 14» 4)48 65 6C 6C 6F 20 4E 36

№15

1) 4028. 5; б) – 1233.6 2) 0 01100011 01101000001110000000000

1 01100011 01101000001110000000000 3) «Привет student № 15» 4) 48 65 6C 6C 6F 20 4E 37

№16

1) 222.8; – 233.19 2) 0 01100110 01101000001110000000000

1 01100110 01101000001110000000000 3) «Hello студент № 16» 4) 48 65 6C 6C 6F 20 4E 38

№17

1) 3228. 25; – 10.0056 2) 0 01100010 11111000001110000000000

1 01100010 11111000001110000000000 3) «Hello студент № 17» 4) 48 65 6C 6C 6F 20 4E 31

№18

1) 10128. 025; – 320.054 2) 0 11000010 01101000001110000000000

1 11000010 01101000001110000000000 3) «Hello студент № 18» 4) 48 65 6C 6C 6F 20 4E 32

№19

1) 711. 34; – 720.059. 2) 0 00100010 00111000001110000000000

1 00100010 00111000001110000000000 3) «Hello студент № 19» 4) 48 65 6C 6C 6F 20 4E 33

№20

1) 3138. 725; – 451.76. 2) 0 00100000 01111000000110000000000

1 00100000 01111000000110000000000 3) «Привет student №20» 4) 48 65 6C 6C 6F 20 4E 34