2.1. C|c hệ đếm cơ bản
2.2. M~ hóa v{ lưu trữ dữ liệu trong m|y tính
2.3. Biểu diễn số nguyên
2.4. C|c phép to|n số học với số nguyên
2.5. Biểu diễn số thực
2.6. Biểu diễn kí tự
106 trang |
Chia sẻ: Mr Hưng | Lượt xem: 924 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Cấu trúc máy tính - Chương 2: Biểu diễn dữ liệu và số học máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
101 0110 0000 0000 0000 0000
X|c định gi| trị thập ph}n của số thực đó.
Giải:
S = 1 X l{ số }m
e = 1000 0010 = 130
m = 10101100...00
Vậy X = (-1)1 x 1.10101100...00 x 2130-127
= -1.101011 x 23 = -1101.011 = -13.375
84
Ví dụ về số dấu chấm động (tiếp)
Ví dụ 2: X|c định gi| trị thập ph}n của số thực X có
dạng biểu diễn theo chuẩn IEEE 754 dạng 32 bit như
sau:
0011 1111 1000 0000 0000 0000 0000 0000
Giải:
85
Ví dụ về số dấu chấm động (tiếp)
Ví dụ 3: Biểu diễn số thực X = 9.6875 về dạng số dấu
chấm động theo chuẩn IEEE 754 dạng 32 bit
Giải:
X = 9.6875(10) = 1001.1011(2) = 1.0011011 x 2
3
Ta có:
S = 0 vì đ}y l{ số dương
E = e – 127 nên e = 127 + 3 = 130(10) = 1000 0010(2)
m = 001101100...00 (23 bit)
Vậy:
X = 0100 0001 0001 1011 0000 0000 0000 0000
86
Các quy ước đặc biệt
Nếu tất cả c|c bit của e đều bằng 0, c|c bit của m đều
bằng 0, thì X = 0
Nếu tất cả c|c bit của e đều bằng 1, c|c bit của m đều
bằng 0, thì X =
Nếu tất cả c|c bit của e đều bằng 1, m có ít nhất một
bit bằng 1, thì X không phải l{ số (not a number -
NaN)
87
Trục số biểu diễn
Dạng 32 bit: a = 2-127 ≈ 10-38 b = 2+127 ≈ 10+38
Dạng 64 bit: a = 2-1023 ≈ 10-308 b = 2+1023 ≈ 10+308
Dạng 80 bit: a = 2-16383 ≈ 10-4932 b = 2+16383 ≈ 10+4932
-0 +0-a b-b a
underflow
overflow overflow
88
Thực hiện các phép toán
X1 = M1 * R
E1
X2 = M2 * R
E2
Ta có
X1 X2 = (M1 * R
E1-E2 M2) * RE2 , với E2 E1
X1 * X2 = (M1 * M2) * RE1+E2
X1 / X2 = (M1 / M2) * RE1-E2
89
Các khả năng tràn số
Tr{n trên số mũ (Exponent Overflow): mũ dương
vượt ra khỏi gi| trị cực đại của số mũ dương có thể.
Tr{n dưới số mũ (Exponent Underflow): mũ }m vượt
ra khỏi gi| trị cực đại của số mũ }m có thể.
Tr{n trên phần định trị (Mantissa Overflow): cộng hai
phần định trị có cùng dấu, kết quả bị nhớ ra ngo{i bit
cao nhất.
Tr{n dưới phần định trị (Mantissa Underflow): Khi
hiệu chỉnh phần định trị, c|c số bị mất ở bên phải
phần định trị.
90
Phép cộng và phép trừ
Kiểm tra c|c số hạng có bằng 0 hay không
Nếu có thì g|n kết quả dựa trên số còn lại.
Hiệu chỉnh phần định trị
Sao cho 2 số có phần mũ giống nhau: tăng số mũ nhỏ v{ dịch phải phần
định trị tương ứng (dịch phải để hạn chế sai số nếu có).
VD: 1.01 * 23 + 1.11 = 1.01 * 23 + 0.00111 * 23
Cộng hoặc trừ phần định trị
Nếu tr{n thì dịch phải v{ tăng số mũ, nếu bị tr{n số mũ thì b|o lỗi tr{n
số.
Chuẩn hóa kết quả
Dịch tr|i phần định trị để bit tr|i nhất (bit MSB) kh|c 0.
Tương ứng với việc giảm số mũ nên có thể dẫn đến hiện tượng tr{n
dưới số mũ.
91
Nội dung chương 2
2.1. C|c hệ đếm cơ bản
2.2. M~ hóa v{ lưu trữ dữ liệu trong m|y tính
2.3. Biểu diễn số nguyên
2.4. C|c phép to|n số học với số nguyên
2.5. Biểu diễn số thực
2.6. Biểu diễn kí tự
92
Biểu diễn kí tự trong máy tính
1. Bộ m~ ASCII (American Standard Code for
Information Interchange)
2. Bộ m~ Unicode
93
1. Bộ mã ASCII
Do ANSI (American National Standard Institute) thiết
kế
L{ bộ m~ 8 bit m~ hóa được cho 28 = 256 kí tự, có
m~ từ 0016 FF16, bao gồm:
128 kí tự chuẩn có m~ từ 0016 7F16
128 kí tự mở rộng có m~ từ 8016 FF16
94
HEXA 0 1 2 3 4 5 6 7
0
0
16
32
0
48
@
64
P
80
`
96
p
112
1
1
17
!
33
1
49
A
65
Q
81
a
97
q
113
2
2
18
"
34
2
50
B
66
R
82
b
98
r
114
3
3
19
#
35
3
51
C
67
S
83
c
99
s
115
4
4
20
$
36
4
52
D
68
T
84
d
100
t
116
5
5
21
%
37
5
53
E
69
U
85
e
101
u
117
6
6
22
&
38
6
54
F
70
V
86
f
102
v
118
7
7
23
'
39
7
55
G
71
W
87
g
103
w
119
8
8
24
(
40
8
56
H
72
X
88
h
104
x
120
9
9
25
)
41
9
57
I
73
Y
89
i
105
y
121
A
10
26
*
42
:
58
J
74
Z
90
j
106
z
122
B
11
27
+
43
;
59
K
75
[
91
k
107
{
123
C
12
28
,
44
<
60
L
76
\
92
l
108
|
124
D
13
29
-
45
=
61
M
77
]
93
m
109
}
125
E
14
30
.
46
>
62
N
78
^
94
n
110
~
126
F
15
31
/
47
?
63
O
79
-
95
o
111
127
95
a. Các kí tự chuẩn
95 kí tự hiển thị được: có m~ từ 2016 ÷ 7E16
26 chữ c|i hoa Latin 'A' ÷ 'Z' có m~ từ 4116 ÷ 5A16
26 chữ c|i thường Latin 'a' ÷ 'z' có m~ từ 6116 ÷ 7A16
10 chữ số thập ph}n '0' ÷ '9' có m~ từ 3016 ÷ 3916
C|c dấu c}u: . , ? ! : ;
C|c dấu phép to|n: + - * /
Một số kí tự thông dụng: #, $, &, @, ...
Dấu c|ch (m~ l{ 2016)
33 m~ điều khiển: m~ từ 0016 ÷ 1F16 và 7F16 dùng để
m~ hóa cho c|c chức năng điều khiển
96
Điều khiển định dạng
BS Backspace - Lùi lại một vị trí: Ký tự điều khiển con trỏ lùi lại một vị trí.
HT Horizontal Tab - Tab ngang: Ký tự điều khiển con trỏ dịch tiếp một khoảng đã
định trước.
LF Line Feed - Xuống một dòng: Ký tự điều khiển con trỏ chuyển xuống dòng
dưới.
VT Vertical Tab - Tab đứng: Ký tự điều khiển con trỏ chuyển qua một số dòng đã
định trước.
FF Form Feed - Đẩy sang đầu trang: Ký tự điều khiển con trỏ di chuyển xuống
đầu trang tiếp theo.
CR Carriage Return - Về đầu dòng: Ký tự điều khiển con trỏ di chuyển về đầu
dòng hiện hành.
97
Điều khiển truyền số liệu
SOH Start of Heading - Bắt đầu tiêu đề: Ký tự đánh dấu bắt đầu phần thông tin tiêu
đề.
STX Start of Text - Bắt đầu văn bản: Ký tự đánh dấu bắt đầu khối dữ liệu văn bản
và cũng chính là để kết thúc phần thông tin tiêu đề.
ETX End of Text - Kết thúc văn bản: Ký tự đánh dấu kết thúc khối dữ liệu văn bản
đã được bắt đầu bằng STX.
EOT End of Transmission - Kết thúc truyền: Chỉ ra cho bên thu biết kết thúc
truyền.
ENQ Enquiry - Hỏi: Tín hiệu yêu cầu đáp ứng từ một máy ở xa.
ACK Acknowledge - Báo nhận: Ký tự được phát ra từ phía thu báo cho phía phát
biết rằng dữ liệu đã được nhận thành công.
NAK Negative Aknowledge - Báo phủ nhận: Ký tự được phát ra từ phía thu báo cho
phía phát biết rằng việc nhận dữ liệu không thành công.
SYN Synchronous / Idle - Đồng bộ hóa: Được sử dụng bởi hệ thống truyền đồng bộ
để đồng bộ hoá quá trình truyền dữ liệu.
ETB End of Transmission Block - Kết thúc khối truyền: Chỉ ra kết thúc khối dữ
liệu được truyền.
98
Điều khiển phân cách thông tin
FS File Separator - Ký hiệu phân cách tập tin: Đánh dấu ranh giới giữa các tập tin.
GS Group Separator - Ký hiệu phân cách nhóm: Đánh dấu ranh giới giữa các
nhóm tin (tập hợp các bản ghi).
RS Record Separator - Ký hiệu phân cách bản ghi: Đánh dấu ranh giới giữa các
bản ghi.
US Unit Separator - Ký hiệu phân cách đơn vị: Đánh dấu ranh giới giữa các phần
của bản ghi.
99
Các kí tự điều khiển khác
NUL Null - Ký tự rỗng: Được sử dụng để điền khoảng trống khi không có dữ liệu.
BEL Bell - Chuông: Được sử dụng phát ra tiếng bíp khi cần gọi sự chú ý của con người.
SO Shift Out - Dịch ra: Chỉ ra rằng các mã tiếp theo sẽ nằm ngoài tập ký tự chuẩn cho
đến khi gặp ký tự SI.
SI Shift In - Dịch vào: Chỉ ra rằng các mã tiếp theo sẽ nằm trong tập ký tự chuẩn.
DLE Data Link Escape - Thoát liên kết dữ liệu: Ký tự sẽ thay đổi ý nghĩa của một hoặc
nhiều ký tự liên tiếp sau đó.
DC1 ÷
DC4
Device Control - Điều khiển thiết bị : Các ký tự dùng để điều khiển các thiết bị
phụ trợ.
CAN Cancel - Hủy bỏ: Chỉ ra rằng một số ký tự nằm trước nó cần phải bỏ qua.
EM End of Medium - Kết thúc phương tiện: Chỉ ra ký tự ngay trước nó là ký tự cuối
cùng có tác dụng với phương tiện vật lý.
SUB Substitute - Thay thế: Được thay thế cho ký tự nào được xác định là bị lỗi.
ESC Escape - Thoát: Ký tự được dùng để cung cấp các mã mở rộng bằng cách kết hợp
với ký tự sau đó.
DEL Delete - Xóa: Dùng để xóa các ký tự không mong muốn.
100
b. Các kí tự mở rộng
Được định nghĩa bởi:
Nh{ chế tạo m|y tính
Người ph|t triển phần mềm
Ví dụ:
Bộ m~ ký tự mở rộng của IBM: được dùng trên m|y tính
IBM-PC.
Bộ m~ ký tự mở rộng của Apple: được dùng trên m|y tính
Macintosh.
C|c nh{ ph|t triển phần mềm tiếng Việt cũng đ~ thay đổi
phần n{y để m~ ho| cho c|c ký tự riêng của chữ Việt, ví dụ
như bộ m~ TCVN 5712.
101
2. Bộ mã Unicode
Do c|c h~ng m|y tính h{ng đầu thiết kế
L{ bộ m~ 16-bit
Được thiết ké cho đa ngôn ngữ, trong đó có tiếng Việt
102
Bài tập 1
Giả sử có c|c biến nhớ dưới đ}y chứa c|c số nguyên
có dấu 8-bit với nội dung biểu diễn theo hệ 16 như
sau:
P = 3A Q = 7C R = DE S = FF
H~y x|c định gi| trị của c|c biến nhớ đó dưới dạng số
thập ph}n.
103
Bài tập 2
Giả sử có X thuộc kiểu số nguyên có dấu 16-bit, nó
được g|n gi| trị dưới dạng thập ph}n bằng -1234.
H~y cho biết nội dung của c|c byte nhớ chứa biến đó
dưới dạng Hexa, biết rằng bộ nhớ lưu trữ theo kiểu
đầu nhỏ (little-endian).
104
Bài tập 3
Giả sử có biến P chứa số nguyên có dấu 16 bit. Nội
dung của biến P được cho trong bộ nhớ như sau:
H~y x|c định gi| trị của biến P dưới dạng thập ph}n.
9D(16)
80(16)
Địa chỉ
tăng dần
(Little-endian)
105
Bài tập 4
Giả sử có một biến số thực X được biểu diễn bằng số dấu chấm
động theo chuẩn IEEE 754 dạng 32 bit, nó chiếm 4 byte trong
bộ nhớ với nội dung được chỉ ra ở hình vẽ sau.
Biết rằng bộ nhớ tổ chức theo kiểu đầu nhỏ (little-endian), hãy
x|c định gi| trị thập ph}n của số thực đó.
00(16)
80(16) Địa chỉ
tăng dầnD9(16)
C3(16)
106
Bài tập 5
Giả sử có biến X thuộc kiểu số dấu chấm động theo
chuẩn IEEE 754 dạng 32 bit. Nó được g|n gi| trị dưới
dạng thập ph}n bằng -124.125 v{ lưu trữ v{o bộ nhớ
bắt đầu từ byte nhớ có địa chỉ l{ 200. H~y cho biết nội
dung của c|c byte nhớ chứa biến đó dưới dạng Hexa,
biết rằng bộ nhớ lưu trữ theo kiểu đầu nhỏ (little-
endian).
Các file đính kèm theo tài liệu này:
- chuong2_bieudiendulieu_sohocmaytinh_3844.pdf