Bài giảng Kiến trúc máy tính và hợp ngữ: Bài 3 do Phạm Tuấn Sơn biên soạn nhằm mục đích phục vụ cho việc giảng dạy. Nội dung bài giảng gồm: Vấn đề với biểu diễn số nguyên, biểu diễn phần thập phân, giới hạn biểu diễn số chấm tĩnh, biểu diễn số chấm động, chuẩn số chấm động IEEE 754,. | Bài 03: Số chấm động Phạm Tuấn Sơn ptson@ Vấn đề với biểu diễn số nguyên • Số nguyên N bit biểu diễn được 2N giá trị – Biểu diễn không dấu (Unsigned Integer) 0 à 2N – 1 (N=32, 2N–1 = 4,294,967,295) – Biểu diễn bù 2 -2(N-1) à 2(N-1) – 1 (N=32, 2(N-1) = 2,147,483,648) • Biểu diễn số rất lớn ? Số giây / 1 nghìn năm – 31,556,926,000 ( x 1010) • Biểu diển số rất nhỏ ? Số giây / 1 nano giây – ( x 10-9) • Biểu diễn số thập phân ? 2 Biểu diễn phần thập phân • Biểu diễn số thế nào ? Cần bao nhiêu bit ? • Giả sử dùng 8 bit để lưu trữ phần nguyên 5 = 4 + 1 = 00000101 • Tương tự có thể dùng 8 bit lưu trữ phần thập phân = + = 01100000 • Vậy có thể biểu diễn = • Tổng quát ta có: xn −1 K x1 x0 . x−1 x−2 K x− m = n ∑ i =− m xi 2i => Biểu diển số chấm tĩnh (fixed point) i 2-i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1/2 1/4 1/8 1/16 1/32 . 3 Giới hạn biểu diễn số chấm tĩnh • Với 8 bit – Phần nguyên lớn nhất có thể biểu diễn là 28 - 1= 255 – Phần thập phân nhỏ nhất có thể biểu diễn là 2-8 = 1/256 = ~ 10-3 • Nếu muốn tính toán với số nhỏ hơn như hay ? à Tăng số bit Với 16 bit phần thập phân min = 1/65536 = ~ 10-5 • Có cách nào tốt hơn ? 4 Số chấm động – Ý tưởng • Hệ thập phân – 123000000000 ~ ×1011 và ~ ×10-11 • Tương tự với hệ nhị phân, ta có x = = 22 + 20 + 2-2 + 2-3 • Ta có thể viết lại x = × 22 • Thay vì dùng 16 bit để lưu trữ, chỉ cần dùng 7 bit (5 bit phần trị + 2 bit phần mũ) x = 10 • Như vậy, – Muốn tiết kiệm số bit lưu trữ, ta đã di chuyển vị trí của dấu chấm sang phải 14 vị trí – Cần lưu: phần trị, phần mũ và phần dấu => Đây là ý tưởng cơ bản của số chấm động (floating .