S1Ố THỰCNội dungFloating-point arithmetic BI2ỂU DIỄN SỐ THỰC TRONG MÁY TÍNH BIỂU DIỄN SỐ THỰC VỚI DẤU PHẨY TĨNH2.1 BI2.2ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG CÁC PHÉP TOÁN2.3 SAI S2.4 Ố... Đ
Trang 1Nhóm 3
Trang 2Tr ần Minh Quý
V ũ Đình Tâm
V ương Toàn Hội
Hoàng Văn Thi ết
Trang 3S 1 Ố THỰC
N ội dung
Floating-point arithmetic
BI 2 ỂU DIỄN SỐ THỰC TRONG MÁY TÍNH
BIỂU DIỄN SỐ THỰC VỚI DẤU PHẨY TĨNH 2.1
BI 2.2 ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
CÁC PHÉP TOÁN2.3
SAI S2.4 Ố
Trang 4S Ố THỰC
+ Số thực là tập hợp bao gồm số dương (vd: 1,2,3), số 0, số âm (vd: -1,-2,-3), số hữu tỉ (vd: 5/2, -23/45), số vô tỉ (vd: số pi, số √ 2).
1
+ Dùng để đo khoảng cách, đo các đại lượng như thời gian, khối lượng, năng
lượng, vận tốc và nhiều đại lượng khác
+ Tập hợp tất cả các số thực là không thể đếm được
Trang 5+ Hầu hết các máy tính không hoạt động trên số thực Thay vào đó, chúng hoạt
động với các phép xấp xỉ chính xác hữu hạn được gọi là số dấu phẩy động Trên
thực tế, hầu hết các phép tính khoa học đều sử dụng số dấu phẩy động Các sốthực thỏa mãn các quy tắc thông thường của số học, nhưng số dấu phẩy động thìkhông
Trang 62 BI ỂU DIỄN SỐ THỰC
Dấu phẩy được đặt tại một vị trí cố định để ngăn cách giữa phần nguyên với phần lẻ
Ví dụ: quy ước rằng chuỗi chữ số gồm 8 chữ số thập phân và dấu phẩy thập phân luôn
nằm ở ngay giữa chuỗi thì khi đọc giá trị "00012345" ta phải ngầm hiểu đây là số có giátrị 1.2345
Trang 72.1 BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY TĨNH
Không quyết định được để bao nhiêu ngăn cho phần nguyên và phần lẻ là phù
Trang 8BI ỂU DIỄN SỐ THỰC
2
BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
2.2
+ Trong tin học, dấu phẩy động được dùng để chỉ một hệ thống biểu diễn số mà
trong đó sử dụng một chuỗi chữ số (hay bit) để biểu diễn một số hữu tỉ
+ Trong ký hiệu khoa học, một con số thường được nhân với một lũy thừa của
10 sao cho kết quả nằm trong khoảng 1 và 10, tức là kết quả sẽ được viết ra vớidấu phẩy cơ số nằm trực tiếp sau chữ số đầu tiên Để biết giá trị thực của con
số, lũy thừa của 10 sẽ được viết riêng ra ở cuối kết quả Lấy ví dụ, chu kỳ xoay mặt trăng Io của hành tinh Mộc Tinh là 152853.5047 giây Khi đó, con số này được biểu diễn dưới dạng ký hiệu khoa học chuẩn là 1.528535047×10^5 giây.
Trang 9BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
2.2
+ Cách biểu diễn số dấu phẩy động tương tự với cách dùng trong ký hiệu khoa
học:
Một chuỗi chữ số có dấu với chiều dài cho trước và có cơ số cho trước
Chuỗi này được gọi là phần định trị.
Dấu phẩy cơ số được quy ước ngầm là luôn luôn nằm tại một vị trí cụ thểtrong phần định trị - mà thường là ngay sau hoặc ngay trước chữ số có nghĩalớn nhất (tức là chữ số đầu tiên tính từ bên trái qua)
Trang 10BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
2.2
+ Một số mũ là số nguyên có dấu, nhằm mô tả phần lấy tỉ lệ tức cho phép
người đọc xác định được giá trị thực của số từ phần định trị
+ Ví dụ ở cơ số 10, số 152853.5047.
Phần định trị là 1528535047 (với quy ước là vị trí của dấu phẩy cơ số nằmngay sau chữ số có nghĩa lớn nhất, tức là chữ số 1) Khi đó, phần định trịđược hiểu ngầm là 1.528535047
Để người đọc có thể khôi phục lại giá trị ban đầu thì cần phải thêm số mũ là 5.Được 1.528535047 × 10^5
Trang 11BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
2.2
+ Tổng quát:
X = M x R^E + Trong đó:
Trang 12BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
2.2
+ Các cách biểu diễn số thực với dấu phẩy động trong máy tính:
a) Độ chính xác đơn (single precision): một số thực dấu phẩy động được biểu diễn ở dạng 32 bit.
b) Độ chính xác kép (Double precision): một số thực dấu phẩy động được biểu diễn ở dạng 64 bit.
Trang 13Cơ số R = 2
S là bít dấu (số dương S = 0, số âm S = 1)
e là mã excess của phần mũ E (e = E+127 hay E = e-127, số 127 ở đây là độ
lệch bias)
m là phần lẻ của phần định trị M (M = 1,m)
+ Để biểu diễn số thực trong máy tính người ta đưa ra chuẩn IEEE 754 Hầu hết
các máy tính ngày nay đều tuân theo chuẩn này
Với Độ chính xác đơn (single precision)
Do vậy công thức xác định giá trị số thực như sau:
BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
V ỚI ĐỘ CHÍNH XÁC ĐƠN
Trang 142.2a BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
V ỚI ĐỘ CHÍNH XÁC ĐƠN
Hoặc:
Trang 16B2: Chuẩn hóa theo chuẩn IEEE 32 bit
(lùi dấu phẩy lên trước, liền kề sau chữ số đầu tiên)
2.2a BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
V ỚI ĐỘ CHÍNH XÁC ĐƠN
Trang 17B3: Xác định các thông số biểu diễn S, e, m
Là số âm, suy ra S = 1
Ta có e = E + 127, suy ra e = 11 + 127 = 138₁₀ = 10001010₂
m = 001 0010 1001 0010 0000 0000
Vậy số -2345,125 khi được biểu diễn với dấu phẩy động là :
BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
V ỚI ĐỘ CHÍNH XÁC ĐƠN
Trang 18Ví dụ 2: chuyển số từ hệ nhị phân với dấu phẩy động sang hệ thập phân.
BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
Trang 192.2b BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
V ỚI ĐỘ CHÍNH XÁC KÉP
Cơ số R = 2
S là bít dấu (số dương S = 0, số âm S = 1)
e là mã excess của phần mũ E (e = E+1023 hay E = e-1023, số 1023 ở đây là độ lệch bias)
m là phần lẻ của phần định trị M (M = 1,m)
Với Độ chính xác kép (Double precision)
Do vậy công thức xác định giá trị số thực như sau:
Trang 212.2 BI ỂU DIỄN SỐ THỰC VỚI DẤU PHẨY ĐỘNG
Cấu trúc biểu diễn trong máy tính:
Trang 222.3 CÁC PHÉP TOÁN
a) Phép cộng:
•B1: Chuẩn hóa 2 số về dạng chuẩn dấu phẩy động
•B2: Biến đổi để số mũ của 2 toán hạng bằng nhau
Trang 242.3 CÁC PHÉP TOÁN
b) Phép trừ:
•Phép trừ bằng phép cộng với số đối
•B1: Chuẩn hóa 2 số về dạng chuẩn dấu phẩy động
•B2: Biến đổi để số mũ của 2 số bằng nhau
•B3: Trừ phần định trị của 2 số, giữ nguyên phần mũ
•B4: Chuẩn hóa kết quả
Trang 262.3 CÁC PHÉP TOÁN
c) Phép nhân:
•B1: chuẩn hóa 2 toán hạng
•B2: ta nhân phần định trị với nhau
•Tổng quát :
số X có dạng X=Mx*2^a
số Y có dạng Y=My*2^b
suy ra X*Y = (Mx * My)*2^(a+b)
•B3: Chuẩn hóa kết quả
Trang 282.3 CÁC PHÉP TOÁN
d) Phép chia:
•B1: kiểm tra phép chia 0
•B2: Chuẩn hóa 2 toán hạng về dạng dấu phẩy động
•B3: Chia phần định trị cho nhau, trừ số mũ X cho Y
và xác định dấu của kết quả:
X = Mx * 2a, Y = My * 2b, X / Y = (Mx / My) x 2^(a-b)
•B4: Chuẩn hóa kết quả nếu cần thiết
Trang 302.4 SAI S Ố
Với số x được xấp xỉ bằng x’ thì |x-x’| gọi là sai số tuyệt đối.
| (x - x’) / x| được gọi là sai số tương đối.
a) Sai số tuyệt đối và sai số tương đối
Do số ngăn của một ô nhớ bị hạn chế nên biểu diễn sẽ mắc sai số làm tròn
Có hai loại sai số:
Trang 322.4 SAI S Ố
c) Tích lũy lỗi
Sai số tích lũy nhiều lần qua các phép toán
Trang 33Nhóm 3