Giáo án 10

Chia sẻ bởi Hà Thị Thủy | Ngày 10/05/2019 | 51

Chia sẻ tài liệu: giáo án 10 thuộc Tin học 11

Nội dung tài liệu:

CÁCH BIỂU DIỄN SỐ THỰC TRONG MÁY TÍNH ĐIỆN TỬ

1. Nguyên tắc chung
Floating Point Number  biểu diễn cho số thực
Tổng quát : Một số thực X được biểu diễn theo kiểu số dấu phẩy động như sau :
X = M *
M là phần định trị (Mantissa),
R là cơ số (Radix),
E là phần mũ (Exponent).
2. Chuẩn IEEE754/85
Cơ số R = 2
Các dạng :
Dạng 32-bit
Dạng 44-bit
Dạng 64-bit
Dạng 80-bit
Các dạng biểu diễn chính
31 30 23 22 0

79 78 64 63 0

63 62 52 51 0
Dạng 32 bit
S là bit dấu :
S = 0  số dương
S = 1  số âm
e (8 bit) là mã excess-127 của phần mũ E :
e = E + 127  E = e – 127
giá trị 127 gọi là độ lệch (bias)
m (23 bit) là phần lẻ của phần định trị M :
M = 1.m
Công thức xác định giá trị của số thực :
X = *1.m*
Ví dụ 1
xác định giá trị của số thực được biểu diễn bằng 32-bit như sau:
1100 0001 0101 0110 0000 0000 0000 0000 0000
S = 1  số âm
E = 1000 0010 = 130  E = 130 – 127 = 3
Vậy :
X = - 1.10101100 * 2 = -1101.011 = -13.375
0011 1111 1000 0000 0000 0000 0000 0000 = ?
= +1.0
Ví dụ 2
Biểu diễn số thực X = 83.75 về dạng số dấu chấm động IEEE754 32-bit
Giải :
X = 83.75 = 1010011.11 = 1.01001111 x 2
Ta có :
S = 0 vì đây là số dương
E = e – 127 = 6
 e = 127+6 = 133 = 1000 0101
Vậy
X = 0100 0010 1010 0111 1000 0000 0000 0000
Các quy ước đặc biệt
Các bit của e bằng 0, các bit của m bằng 0, thì X = 0
x000 0000 0000 0000 0000 0000 0000 0000  X = 0
Các bit của e bằng 1, các bit của m bằng 0, thì X =
x111 1111 1000 0000 0000 0000 0000 0000  X =
Các bit của e bằng 1, còn m có ít nhất một bit bằng 1, thì nó không biểu diễn cho số nào cả (NaN-not a number)
Dải giá trị biểu diễn
đến
đến
Dạng 64 bit
S là bit dấu
e (11 bit) : mã excess-1023 của phần mũ E  E = e – 1023
m (52 bit) : phần lẻ của phần định trị M
Giá trị số thực :
X = *1.m*
Dải giá trị biểu diễn đến
Dạng 80 bit
S là bit dấu
e (15 bit) : mã excess-16383 của phần mũ
E  E = e – 16383
m (64 bit) : phần lẻ của phần định trị M
Giá trị số thực :
X = *1.m*
Dải giá trị biểu diễn : đến
3. Thực hiện phép toán dấu phẩy động
X1 = M1*
X2 = M2*
Ta có
X1*X2 = (M1*M2)*
X1/X2 = (M1/M2)*
X1 X2 = (M1* M2)* , với E2 E1
Các khả năng tràn số
Tràn số trên 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ể (0).
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ị
Phép cộng và phép trừ.
Kiểm tra các số hạng có bằng 0 hay không
Hiểu chỉnh phần định trị
Cộng hoặc trừ phần định trị
Chuẩn hoá kết quả
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Hà Thị Thủy
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)