Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Formy_predstavlenia_dannyh_i_preobrazovanie_inf....doc
Скачиваний:
10
Добавлен:
17.11.2018
Размер:
258 Кб
Скачать
☆

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

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

Для представления отрицательных чисел в ЭВМ применяют прямой, обратный и дополнительный коды. Положительные числа представляются только в прямом коде. Во всех кодах знак "+" кодируется 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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]