Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Антонов О.С., Хiхловська I.В. Обчислювальна тех...doc
Скачиваний:
22
Добавлен:
01.09.2019
Размер:
4 Мб
Скачать
☆

2.3 Порозрядні операції над даними

Вхідний контроль:

1 Які правила виконання арифметичних операцій у позиційних системах числення Ви знаєте?

Виконання операції додавання у кодах дещо відрізняється від звичайного:

  • розряди знаковий і розряди числа є рівноправними і перенос у знаковий розряд необхідно враховувати і додавати до знакових розрядів;

  • при виконанні операції додавання у ОК перенос із знакового розряду необхідно додавати до молодшого розряду числа ( операція циклічного перенесення);

  • при виконанні операції додавання у ДК перенос із знакового розряду ігнорується і відкидається.

Розглянемо операцію додавання цілих двійкових чисел зі знаком у кодах. Для представлення у кодах необхідно користуватися восьмирозрядною сіткою (з урахуванням знаку) у вигляді байту.

1 Для чисел з різними знаками

27D – 30D = 27D + (– 30D) = 11011В – 11110В

представимо двійкові числа у кодах

ОК ДК

+ 11011В 0.0011011 + 11011В 0.0011011

– 11110В 1.1100001 – 11110В 1.1100010

Виконаємо операцію додавання у кодах

ОК ДК

0 .0011011 0.0011011

1.1100001 1.1100010

1.1111100 1.1111101

Результати отримано у відповідних кодах. Перетворимо їх на ПК і подамо у десятковій системі числення

1.1111100ОК 1.0000011ПК – 3D

Результат при роботі з оберненним кодом правильний.

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

1.1111101ДК – 1 = 1.1111100ОК 1.0000011ПК – 3D

Результат також правильний.

Слід сказати, що мікропроцесори виконують операцію додавання у доповнювальному коді, тому на етапі підготовки даних їх слід представити у вигляді ДК. Результат операції також подається у ДК. Для переведення його у ПК слід використовувати спеціальні програми, які виконують це перетворення.

2 Для двох іншими чисел з різними знаками.

– 27D + 30D = – 1011В + 11110В

представимо двійкові числа у кодах

ОК ДК

– 11011В 1.1100100 – 11011В 1.1100101

+ 11110В 0.0011110 + 11110В 0.0011110

Виконаємо операцію додавання у кодах

ОК ДК

1 .1100100 1.1100101

0.0011110 0.0011110

1 0.0000010 1 0.0000011

1

0.0000011

При виконанні операції у ОК перенесення із знакового розряду було враховано у результаті, а при виконанні операції у ДК – відкинуто. Результат у обох випадках отримано у вигляді додатного числа 11В = 3D, що є правильним.

При виконанні додавання даних, поданих у двійково-десятковій системі числення, виникає необхідність корегування результату у таких випадках:

  • при формування суми у тетраді отримано число, яке не є цифрою десяткової системи числення; наприклад,

0

+

000 1001BCD

0000 0110BCD

0000 1111BCD

у молодшій тетраді отримано двійкове число 1111В, яке неможливо подати у десятковій системі числення;

  • при формуванні суми виникає перенесення до старшого розряду (старшої тетради), а значення результату в тетраді є невірне; наприклад,

0 000 1001BCD

0000 1000BCD

0001 0001BCD

у молодшій тетраді отримано двійкове число 0001В, замість 0111В, яке є правильним результатом.

В обох випадках корекція результату в тетраді буде виконуватися при використанні коду з надлишком 3 для обох складових, або при додаванні 6D (0110B) до результату. У першому випадку:

0 000 1111BCD

0000 0110BCD

0001 0101BCD

Таблиця 2.1 – Коди керування передачею даних і управління форматом зображення

Мнемо-ніка

Зображення при друці

Призначення у системі ASCII

Код у системі числення

Десяткова

Шестнадцяткова

NUL

Нульовий байт

0

0

SOH

Початок заголовку

1

1

STX

Початок тексту

2

2

ЕТХ

Кінець тексту

3

3

EOT

Кінець передачі

4

4

ENQ

Запит

5

5

АСК

Підтвердження

6

6

BEL

Сигнал

7

7

BS

Повернення на один символ

8

8

НТ

Табуляція

9

9

LF

Перехід на

новий рядок

10

А

VT

Переміщення курсора в лівий верхній кут

11

В

FF

Прогін сторінки

12

C

CR

Повернення каретки

13

D

Продовження табл. 2.1

Мнемо-ніка

Зображення при друці

Призначення у системі ASCII

Код у системі числення

Десяткова

Шестнадцяткова

SO

Нижній регістр

14

Е

SI

Верхній регістр

15

F

DLE

Кінець сеансу зв’язку

16

10

DC1

Керування пристроєм 1

17

11

DC2

Керування пристроєм 2

18

12

DC3

Керування пристроєм 3

19

13

DC4

Керування пристроєм 4

20

14

NAK

Збій передавання даних

21

15

SYN

Синхронізація

22

16

ETB

Кінець блока передавання

23

17

CAN

Відміна

24

18

EM

Кінець носія даних

25

19

SUB

Підстановка

26

1A

ESC

Початок керування

27

1B

FS

Курсор праворуч

Розподілювач файлів

28

1С

GS

Курсор ліворуч

Розподілювач груп

29

1D

RS

Курсор вгору

Розподілювач записів

30

1E

US

Курсор донизу

Розподілювач полів

31

1F

Таблиця 2.2 – Друкарські символи стандартного набору

Символ

Код у системі числення

Символ

Код у системі числення

Символ

Код у системі числення

D

H

D

H

D

H

пропуск

32

20

@

64

40

`

96

60

!

33

21

A

65

41

а

97

61

“

34

22

B

66

42

b

98

62

#

35

23

C

67

43

с

99

63

$

36

24

D

68

44

d

100

64

%

37

25

E

69

45

е

101

65

&

38

26

F

70

46

f

102

66

‘

39

27

G

71

47

i

103

67

(

40

28

Н

72

48

h

104

68

)

41

29

I

73

49

i

105

69

*

42

2А

J

74

4A

j

106

6A

+

43

2В

К

75

4B

k

107

6B

,

44

2С

L

76

4C

l

108

6C

–

45

2D

М

77

4D

m

109

6D

46

2Е

N

78

4E

n

110

6E

/

47

2F

0

79

4F

o

111

6F

0

48

30

Р

80

50

p

112

70

1

49

31

Q

81

51

q

113

71

2

50

32

R

82

52

r

114

72

3

51

33

S

83

53

s

115

73

4

52

34

Т

84

54

t

116

74

5

53

35

U

85

55

u

117

75

6

54

36

V

86

56

v

118

76

7

55

37

W

87

57

w

119

77

8

56

38

X

88

58

x

120

78

9

57

39

Y

89

59

y

121

79

:

58

3A

Z

90

5A

z

122

7A

;

59

3B

[

91

5B

{

123

7B

<

60

3C

\

92

5C

|

124

7C

=

61

3D

]

93

5D

}

125

7D

>

62

3E

^

94

5E

~

126

7E

?

63

3F

_

95

5F

127

7F

Таблиця 2.3 – Друкарські символи розширеного набору

Символ

Код у системі числення

Символ

Код у системі числення

Символ

Код у системі числення

D

H

D

H

D

H

А

128

80

а

160

A0

└

192

C0

Б

129

81

б

161

A1

┴

193

C1

В

130

82

в

162

A2

┬

194

C2

Г

131

83

г

163

A3

├

195

C3

Д

132

84

д

164

A4

─

196

C4

Е

133

85

е

165

A5

┼

197

C5

Ж

134

86

ж

166

A6

╒

198

C6

З

135

87

з

167

A7

╟

199

C7

И

136

88

и

168

A8

╚

200

C8

Й

137

89

й

169

A9

╔

201

C9

К

138

8A

к

170

AA

╩

202

CA

Л

139

8B

л

171

AB

╦

203

CB

М

140

8C

м

172

AC

╠

204

CC

Н

141

8D

н

173

AD

═

205

CD

О

142

8E

о

174

AE

╬

206

CT

П

143

8F

п

175

AF

╧

207

CF

Р

144

90

░

176

B0

╙

208

D0

С

145

91

▒

177

B1

╤

209

D1

Т

146

92

▓

178

B2

╥

210

D2

У

147

93

│

179

B3

╙

211

D3

Ф

148

94

⌡

180

B4

╘

212

D4

Х

149

95

╕

181

B5

╒

213

D5

Ц

150

96

╢

182

B6

╓

214

D6

Ч

151

97

╖

183

B7

╫

215

D7

Ш

152

98

╕

184

B8

╪

216

D8

Щ

153

99

╣

185

B9

┘

217

D9

Ъ

154

9A

║

186

BA

┌

218

DA

Ы

155

9B

╗

187

BB

█

219

DB

Ь

156

9C

╝

188

BC

▀

220

DC

Э

157

9D

╜

189

BD

▌

221

DD

Ю

158

9E

╛

190

BE

▐

222

DE

Я

159

9F

┐

191

BF

▄

223

DF

Продовження табл. 2.3

Символ

Код у системі числення

Символ

Код у системі числення

Символ

Код у системі числення

D

H

D

H

D

H

р

224

E0

ы

235

EB

→

246

F6

с

225

E1

ь

236

EC

←

247

F7

т

226

E2

э

237

ED

↑

248

F8

у

227

E3

ю

238

EE

↓

249

F9

ф

228

E4

я

239

EF

÷

250

FA

х

229

E5

Ё

240

F0

±

251

FB

ц

230

E6

ё

241

F1

№

252

FC

ч

231

E7

′

242

F2

¤

253

FD

ш

232

E8

`

243

F3

*

254

FE

щ

233

E9

244

F4

пропуск

255

FF

ъ

234

EA

245

F5

Контрольні запитання:

  1. Виконати операцію (+92 – 121) у доповнювальному коді. Отримати результат і перевести його у десяткову систему числення.

  2. Виконати операцію (+92 – 121) оберненному коді. Отримати результат і перевести його у десяткову систему числення.

  3. Виконати операцію (+ 121 – 92) у доповнювальному коді. Отримати результат і перевести його у десяткову систему числення.

  4. Виконати операцію (+ 121 – 92) оберненному коді. Отримати результат і перевести його у десяткову систему числення.

  5. Перевести число +8,73 у двійкову систему числення і представити у вигляді з плавучою комою (у вигляді мантиси і порядку). Мантису подати у вигляді заокругленого восьмирозрядного (з урахуванням знаку) двійкового числа у прямому, зворотному та доповнювальному кодах.

  6. Перевести число –5,63 у двійкову систему числення і представити у вигляді з плавучою комою (у вигляді мантиси і порядку). Мантису подати у вигляді заокругленого восьмирозрядного (з урахуванням знаку) двійкового числа у прямому, зворотному та доповнювальному кодах.

  7. Виконати операцію додавання чисел, отриманих у попередніх пунктах у оберненному коді.

  8. Виконати операцію додавання (+ 8.73 –5,63) у доповнювальному коді.

  9. Представити число 95 у двійково-десятковій системі числення.

  10. Пояснити, чому при виконанні арифметичних операцій над числами, поданими у двійково-десятковій системі числення необхідно використовувати код з лишком 3?

  11. Як перевести десяткові числа 95 і 55 у двійково-десяткову систему числення? Виконати над отриманими числами операцію додавання. Скорегувати результат.