Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Формы представления данных и преобразование информации в ЭВМ. Метод. указ. к лаб. работе.doc
Скачиваний:
61
Добавлен:
08.06.2015
Размер:
130.56 Кб
Скачать

Прямой, обратный, дополнительный коды

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

Для представления отрицательных чисел в ЭВМ применяют прямой, обратный и дополнительный коды. Положительные числа представляются только в прямом коде. Во всех кодах знак "+" кодируется 0, а "-" – цифрой 1. Прямой код – это модуль числа со знаком.

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

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

Например, для чисел -756, -24678 в коротком формате имеем:

Число

-756

+375

-24678

Прямой код

10000010 11110100

00000001 01110111

11100000 01100110

Дополнительный код

11111101 00001100

00000001 01110111

10011111 10011010

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

Этот код позволяет использовать целые числа в диапазоне

.

То есть дополнительный код позволил расширить отрицательные границы диапазонов представления целых чисел на 1 (см. табл.1).

Таблица 1

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

Название типа числа

Диапазон представления

Короткое целое

-32768 ÷ 32767

Длинное целое

-2147483648 ÷ 2147483647

Действительное короткое

1.5∙10-45 ÷ 3.4∙1038

Действительное длинное

5.0∙10-324 ÷ 1.7∙10308

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

Современные ЭВМ обрабатывают не только числовую, но и текстовую информацию, т.е. алфавитно-цифровую информацию, содержащую цифры, буквы, знаки препинания, математические и другие символы. В качестве внутреннего кода для представления алфавитно-цифровых символов в памяти ЭВМ применяется американский стандартный код для обмена информацией ASCII (American Standard Code for Information Interchange), и его расширение (рис.5).ASCIIявляется основным международным стандартом и используется для кодирования управляющих символов, цифр и букв латинского алфавита, а его расширение – для символов псевдографики и букв национального алфавита.

С целью автоматизации обработки данных в ASCIIприменен весовой принцип для кодирования символов, согласно которому веса кодов цифр последовательно возрастают, а веса кодов букв увеличиваются в алфавитном порядке. Для кодирования одного символа используется 8 бит, т.е. 1 байт, поэтому в расширенном вариантеASCIIкодируется 28= 256 символов. В приведенной таблице для удобства символы представлены в виде шестнадцатеричных кодов: 00 ÷7F– основной стандарт, 80 ÷FF– расширение стандарта.

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

0

16

32

48

0

64

@

80

P

96

`

112

p

128

А

144

Р

160

а

176

192

208

224

р

240

Ё

1

1

17

33

!

49

1

65

A

81

Q

97

a

113

q

129

Б

145

С

161

б

177

193

209

225

с

241

ё

2

2

18

34

"

50

2

66

B

82

R

98

b

114

r

130

В

146

Т

162

в

178

194

210

226

т

242

Є

3

3

19

35

#

51

3

67

C

83

S

99

c

115

s

131

Г

147

У

163

г

179

195

211

227

у

243

є

4

4

20

36

$

52

4

68

D

84

T

100

d

116

t

132

Д

148

Ф

164

д

180

196

212

228

ф

244

Ї

5

5

21

37

%

53

5

69

E

85

U

101

e

117

u

133

Е

149

Х

165

е

181

197

213

229

х

245

ї

6

6

22

38

&

54

6

70

F

86

V

102

f

118

v

134

Ж

150

Ц

166

ж

182

198

214

230

ц

246

Ў

7

7

23

39

'

55

7

71

G

87

W

103

g

119

w

135

З

151

Ч

167

з

183

199

215

231

ч

247

ў

8

8

24

40

(

56

8

72

H

88

X

104

h

120

x

136

И

152

Ш

168

и

184

200

216

232

ш

248

˚

9

9

25

41

)

57

9

73

I

89

Y

105

i

121

y

137

Й

153

Щ

169

й

185

201

217

233

щ

249

A

10

26

42

*

58

:

74

J

90

Z

106

j

122

z

138

К

154

Ъ

170

к

186

202

218

234

ъ

250

B

11

27

43

+

59

;

75

K

91

[

107

k

123

{

139

Л

155

Ы

171

л

187

203

219

235

ы

251

C

12

28

44

,

60

<

76

L

92

\

108

l

124

|

140

М

156

Ь

172

м

188

204

220

236

ь

252

D

13

29

45

-

61

=

77

M

93

]

109

m

125

}

141

Н

157

Э

173

н

189

205

221

237

э

253

¤

E

14

30

46

.

62

>

78

N

94

^

110

n

126

и

142

О

158

Ю

174

о

190

206

222

238

ю

254

F

15

31

47

/

63

?

79

O

95

_

111

o

127

143

П

159

Я

175

п

191

207

223

239

я

255

Рис.5. Таблица кодов ASCII

Примечание. В таблице отсутствуют первые 32 символа, т.к. они отведены под управляющие коды.

Алфавитно-цифровая информация представляется строками переменной длины в виде кодов символов.

Например, строка WinZip 6.3кодируется следующим образом:

W

i

n

Z

i

p

6

.

3

01010111

01101001

01101110

01011010

01101001

01110000

00100000

00110110

00101110

00110011

а строка –6.285 запишется в память в виде:

-

6

.

2

8

5

00101101

00110110

00101110

00110010

00111000

00110101