Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực

Đặt vấn đề

 Biểu diễn số 123.37510 sang hệ nhị phân?

 Ý tưởng đơn giản: Biểu diễn phần nguyên và phần thập phân riêng lẻ

 Với phần nguyên: Dùng 8 bit ([010, 25510])

12310 = 64 + 32 + 16 + 8 + 2 + 1 = 0111 10112

 Với phần thập phân: Tương tự dùng 8 bit

0.375 = 0.25 + 0.125 = 2-2 + 2-3 = 0110 00002

 123.37510 = 0111 1011.0110 00002

 Tổng quát công thức khai triển của số thập phân hệ nhị phân:

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 1

Trang 1

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 2

Trang 2

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 3

Trang 3

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 4

Trang 4

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 5

Trang 5

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 6

Trang 6

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực trang 7

Trang 7

pdf 7 trang xuanhieu 4460
Bạn đang xem tài liệu "Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực

Bài giảng Kiến trúc máy tính & Hợp ngữ - Chương 3: Biểu diễn số thực
 1
KIẾN TRÚC MÁY TÍNH & 
HỢP NGỮ
03 – Biểu diễn số thực
 Đặt vấn đề
2
  Biểu diễn số 123.37510 sang hệ nhị phân?
  Ý tưởng đơn giản: Biểu diễn phần nguyên và phần thập phân riêng lẻ
  Với phần nguyên: Dùng 8 bit ([010, 25510])
 12310 = 64 + 32 + 16 + 8 + 2 + 1 = 0111 10112
  Với phần thập phân: Tương tự dùng 8 bit
 -2 -3
 0.375 = 0.25 + 0.125 = 2 + 2 = 0110 00002
 123.37510 = 0111 1011.0110 00002
  Tổng quát công thức khai triển của số thập phân hệ nhị phân:
 n 1 n 2 0 1 2 m
 xn 1xn 2...x0.x 1x 2...x m xn 1.2 xn 2.2 ... x0.2 x 1.2 x 2.2 ... x m 2
 Đặt vấn đề
3
  Tuy nhiênvới 8 bit:
  Phần nguyên lớn nhất có thể biểu diễn: 255
  Phần thập phân nhỏ nhất có thể biểu diễn: 2-8 ~ 10-3 = 0.001
 -4 -5
 Biểu diễn số nhỏ như 0.0001 (10 ) hay 0.000001 (10 )?
 Một giải pháp: Tăng số bit phần thập phân
  Với 16 bit cho phần thập phân: min = 2-16 ~ 10-5
  Có vẻ không hiệu quảCách tốt hơn ?
 Floating Point Number (Số thực dấu chấm động)
 Floating Point Number ?
4
  Giả sử ta có số (ở dạng nhị phân)
 -15 -16
 X = 0.00000000000000112 = (2 + 2 )10
 14 số 0
 -14 -1 -2 -14 -15 -16
 X = 0.112 * (2 )10 (= (2 + 2 ).2 = 2 + 2 )
 Thay vì dùng 16 bit để lưu trữ phần thập phân, ta có thể chỉ cần 6 bit:
 X = 0.11 1110
 Cách làm: Di chuyển vị trí dấu chấm sang phải 14 vị trí, dùng 4 bit để lưu
 trữ số 14 này
 Đây là ý tưởng cơ bản của số thực dấu chấm động (floating point number)
 Chuẩn hóa số thập phân
5
  Trước khi các số được biểu diễn dưới dạng số chấm
 động, chúng cần được chuẩn hóa về dạng: ±1.F * 2E
  F: Phần thập phân không dấu (định trị - Significant)
  E: Phần số mũ (Exponent)
  Ví dụ: 
 -4 
  +0.0937510 = 0.000112 = +1.1 * 2
 2
  -5.2510 = 101.012 = -1.0101 * 2
 Biểu diễn số chấm động
6
  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:
 (slide sau)
 Biểu diễn số chấm động
7
  Số chấm động chính xác đơn (32 bits): 
 Sign Exponent (biased) Significand
 1 bit 8 bits 23 bits
  Số chấm động chính xác kép (64 bits):
 Sign Exponent (biased) Significand
 1 bit 11 bits 52 bits
  Sign: Bit dấu (1: Số âm, 0: Số dương)
  Exponent: Số mũ (Biểu diễn dưới dạng số quá K (Biased) với
  Chính xác đơn: K = 127 (2n-1 - 1 = 28-1 - 1) với n là số bit lưu trữ Exponent
  Chính xác kép: K = 1023 (2n-1 - 1 = 211-1 - 1) 
  Significand (Fraction): Phần định trị (phần lẻ sau dấu chấm)

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_hop_ngu_chuong_3_bieu_dien_so_t.pdf