Biểu diễn số chấm động - Tổ chức và Cấu trúc Máy tính II | Trường Đại học CNTT Thành Phố Hồ Chí Minh

Biểu diễn số chấm động - Tổ chức và Cấu trúc Máy tính II | Trường Đại học CNTT Thành Phố Hồ Chí Minh được được sưu tầm và soạn thảo dưới dạng file PDF để gửi tới các bạn sinh viên cùng tham khảo, ôn tập đầy đủ kiến thức, chuẩn bị cho các buổi học thật tốt. Mời bạn đọc đón xem!

lOMoARcPSD| 39651089
10/18/2023 Copyrights 2016 UIT-CE. All Rights Reserved. 35
Biu din schấm động
Vì bộ nhớ máy nh có giới hạn, chúng ta không thể lưu trữ 1 con số
với ộ chính xác vô hạn bất chấp chúng ta dùng kiểu nhị phân hay
thập phân. Tại một mức nào ó thì ta cần phải cắt giảm bớt. Nhưng ộ
chính xác ến bao nhiêu là ủ? Bao nhiêu chữ số nguyên và bao nhiêu
chữ số phần thực?
Với một công nhân xây dựng, 10 met hay 10.0001 met là như
nhau, phép nh của anh ta không quan tâm ến ộ chính xác quá nh
như vy
Nhưng với 1 người thiết kế microchip, 0.0001 met ã là 1 sự khác
biệt rất lớn.
Trong vật lý người ta cần tc ộ ánh sáng (3*109) và hằng số hấp
dẫn newton (0.0000000000667) ể nh toán cùng nhau
Có thể thấy ể có thể áp ứng nhu cầu nh toán a dạng và cả yêu cu
ộ chính xác người ta ưa ra số chm ộng.
lOMoARcPSD| 39651089
10/18/2023 Copyrights 2016 UIT-CE. All Rights Reserved. 36
Biu din schấm ng
Ta sẽ chuẩn hóa về dạng: ±1.F * 2E
F: Signicand ( Phần thập phân không dấu)
E: Exponent (Phần số mũ)
Ví dụ:+0.0937510 = +1.1 * 2-4
Có nhiều chuẩn nhưng hiện nay chuẩn IEEE 754 ược dùng nhiều nhất ể lưu trữ số
thập phân theo dấu chấm ộng trong máy nh, gồm 2 dạng Số chm ộng chính xác
ơn (32 bits):
Số chm ộng chính xác kép (64 bits):
lOMoARcPSD| 39651089
10/18/2023 Copyrights 2016 UIT-CE. All Rights Reserved. 37
Biu din schấm động
Sign: Bit dấu (1: số âm, 0: số dương)
Exponent: Số mũ (Biểu diễn với dạng số quá K (Biased) với:
Chính xác ơn: K = 127 (2
n-1
-1 = 2
8-1
-1 = 128-1 = 127) với n là số bit lưu trữ Exponent
Chính xác kép: K = 1023 (2
n-1
-1 = 2
11-1
-1 = 1024-1 = 1023)
Signicand (Fracon): Phần ịnh trị (phần lẻ sau dấu chấm)
Ví dụ: Biểu diễn số thực sau theo dạng schm ộng chính xác ơn (32 bit): X = 5.25
ớc 1: Đổi X sang hệ nhị phânX = -5.2510 = -101.012
ớc 2: Chuẩn hóa theo dạng ±1.F * 2E; X = -5.251 = -101.01 = -1.0101 * 22
ớc 3: Biểu diễn Floang Point
Số âm: bit dấu Sign = 1
Số mũ E = 2
→ Phần mũ exponent với số thừa K=127 ược biểu diễn: Exponent = E +
127 = 2 + 127 = 129
10
= 1000 0001
2
Phn ịnh trị = 0101 0000 0000 0000 0000 000 (Thêm 19 số 0 cho ủ 23 bit)
Kết quả nhận ược: 1 1000 0001 0101 0000 0000 0000 0000 000
Biểu diễn số dấu chấm động
lOMoARcPSD| 39651089
10/18/2023 Copyrights 2016 UIT-CE. All Rights Reserved. 38
Số dấu chấm ộng có dạng:
S E M
Chuyển ổi thuận:
B1: Chuyển ổi số trên ra hệ hai
-2345,125 = -1001 0010 1001.001 (dãy số nhị phân ược biểu diễn bình thường)
B2: Chuẩn hoá theo IEEE 32bit
-1001 0010 1001.001
=> -1.001 0010 1001 001 x 2^11
(tức là lùi dấu chấm ra trước kế bên số ầu ên, bao nhiêu số thì mũ mấy)
B3: Xác ịnh các thông số biểu diễn S,E,M
S: phần ịnh trị là số âm, nên s là 1
E : phần mũ ược xác ịnh E = 11+127=138=10001010
M: phần ịnh trị ược xác ịnh là 001 0010 1001 0010 0000 0000 (23 số) (tức là M =
y số sau dấu chấm sau khi chuẩn hóa, còn lại ghi số 0 cho ủ 23 số)
y số là:
S E M
1 10001010 00100101001001000000000
Biểu diễn số dấu chấm ng- chuyển ổi nghịch
lOMoARcPSD| 39651089
10/18/2023 Copyrights 2016 UIT-CE. All Rights Reserved. 39
Chuyển ổi nghịch:
1 10001010 00100101001001000000000
B1: Coi số ầu ên:
Số 1: dấu Số
0: dấu +
B2: Lấy dãy ếp theo 10001010 chuyển vthập phân -> lấy số vừa chuyển vtrừ 127 ra s
phần mũ 10001010 = 138
138-127 = 11
-> Số mũ 11
B3: Lấy dãy ếp theo 00100101001001 ếm ủ 11 số ngăn vô dấu phẩy
00100101001.001
B4: Thêm số 1 (bài nào cũng thêm số 1, số 1 này không phải là số 1 ở B1) và dấu ở B1 vào
y vừa ngăn làm và ổi sang thập phân => - 100100101001.001 = - 2345.125
| 1/5

Preview text:

lOMoAR cPSD| 39651089
Biểu diễn số chấm động
Vì bộ nhớ máy tính có giới hạn, chúng ta không thể lưu trữ 1 con số
với ộ chính xác vô hạn bất chấp chúng ta dùng kiểu nhị phân hay
thập phân. Tại một mức nào ó thì ta cần phải cắt giảm bớt. Nhưng ộ
chính xác ến bao nhiêu là ủ? Bao nhiêu chữ số nguyên và bao nhiêu chữ số phần thực?
• Với một công nhân xây dựng, 10 met hay 10.0001 met là như
nhau, phép tính của anh ta không quan tâm ến ộ chính xác quá nhỏ như vậy
• Nhưng với 1 người thiết kế microchip, 0.0001 met ã là 1 sự khác biệt rất lớn.
• Trong vật lý người ta cần tốc ộ ánh sáng (3*109) và hằng số hấp
dẫn newton (0.0000000000667) ể tính toán cùng nhau
Có thể thấy ể có thể áp ứng nhu cầu tính toán a dạng và cả yêu cầu
ộ chính xác người ta ưa ra số chấm ộng. 10/18/2023
Copyrights 2016 UIT-CE. All Rights Reserved. 35 lOMoAR cPSD| 39651089 Biểu diễn số chấm ộng
Ta sẽ chuẩn hóa về dạng: ±1.F * 2E
• F: Significand ( Phần thập phân không dấu)
• E: Exponent (Phần số mũ)
Ví dụ:+0.0937510 = +1.1 * 2-4
Có nhiều chuẩn nhưng hiện nay chuẩn IEEE 754 ược dùng nhiều nhất ể lưu trữ số
thập phân theo dấu chấm ộng trong máy tính, gồm 2 dạng Số chấm ộng chính xác ơn (32 bits):
Số chấm ộng chính xác kép (64 bits): 10/18/2023
Copyrights 2016 UIT-CE. All Rights Reserved. 36 lOMoAR cPSD| 39651089
Biểu diễn số chấm động
Sign: Bit dấu (1: số âm, 0: số dương)
Exponent: Số mũ (Biểu diễn với dạng số quá K (Biased) với: •
Chính xác ơn: K = 127 (2n-1 -1 = 28-1 -1 = 128-1 = 127) với n là số bit lưu trữ Exponent •
Chính xác kép: K = 1023 (2n-1 -1 = 211-1 -1 = 1024-1 = 1023)
Significand (Fraction): Phần ịnh trị (phần lẻ sau dấu chấm)
Ví dụ: Biểu diễn số thực sau theo dạng số chấm ộng chính xác ơn (32 bit): X = 5.25 •
Bước 1: Đổi X sang hệ nhị phânX = -5.2510 = -101.012 •
Bước 2: Chuẩn hóa theo dạng ±1.F * 2E; X = -5.251 = -101.01 = -1.0101 * 22 •
Bước 3: Biểu diễn Floating Point Số âm: bit dấu Sign = 1 Số mũ E = 2
→ Phần mũ exponent với số thừa K=127 ược biểu diễn: Exponent = E +
127 = 2 + 127 = 12910 = 1000 00012
Phần ịnh trị = 0101 0000 0000 0000 0000 000 (Thêm 19 số 0 cho ủ 23 bit)
→ Kết quả nhận ược: 1 1000 0001 0101 0000 0000 0000 0000 000
Biểu diễn số dấu chấm động 10/18/2023
Copyrights 2016 UIT-CE. All Rights Reserved. 37 lOMoAR cPSD| 39651089
Số dấu chấm ộng có dạng: S E M Chuyển ổi thuận:
B1: Chuyển ổi số trên ra hệ hai
-2345,125 = -1001 0010 1001.001 (dãy số nhị phân ược biểu diễn bình thường)
B2: Chuẩn hoá theo IEEE 32bit -1001 0010 1001.001
=> -1.001 0010 1001 001 x 2^11
(tức là lùi dấu chấm ra trước kế bên số ầu tiên, bao nhiêu số thì mũ mấy)
B3: Xác ịnh các thông số biểu diễn S,E,M
S: phần ịnh trị là số âm, nên s là 1
E : phần mũ ược xác ịnh E = 11+127=138=10001010
M: phần ịnh trị ược xác ịnh là 001 0010 1001 0010 0000 0000 (23 số) (tức là M =
dãy số sau dấu chấm sau khi chuẩn hóa, còn lại ghi số 0 cho ủ 23 số) Dãy số là: S E M
1 10001010 00100101001001000000000
Biểu diễn số dấu chấm ộng- chuyển ổi nghịch 10/18/2023
Copyrights 2016 UIT-CE. All Rights Reserved. 38 lOMoAR cPSD| 39651089 Chuyển ổi nghịch:
1 10001010 00100101001001000000000 B1: Coi số ầu tiên: Số 1: dấu Số 0: dấu +
B2: Lấy dãy tiếp theo 10001010 chuyển về thập phân -> lấy số vừa chuyển về trừ 127 ra số phần mũ 10001010 = 138 138-127 = 11 -> Số mũ 11
B3: Lấy dãy tiếp theo 00100101001001 ếm ủ 11 số ngăn vô dấu phẩy 00100101001.001
B4: Thêm số 1 (bài nào cũng thêm số 1, số 1 này không phải là số 1 ở B1) và dấu ở B1 vào dãy vừa ngăn làm và
ổi sang thập phân => - 100100101001.001 = - 2345.125 10/18/2023
Copyrights 2016 UIT-CE. All Rights Reserved. 39