Số bù giúp đơn giản giản phép trừ và luận lý.
Có 2 loại số bù trong hệ cơ số: bù r, bù (r– 1).
Ví dụ: Bù 2, bù 1 trong hệ cơ số 2
Bù 10, bù 9 trong hệ cơ số 10
Số bù r -1:
Đặt N là số có n ký số trong hệ r thì bù r của N là (rn -1) –N
Ta có: bù 9 của thập phân N là (10n – 1), 10n là số 1 theo sau là n số 0.
30 trang |
Chia sẻ: lylyngoc | Lượt xem: 2349 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng môn Cấu trúc máy tính - Biểu diễn dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BIỂU DIỄN DỮ LIỆU SỐ BÙ Số bù giúp đơn giản giản phép trừ và luận lý. Có 2 loại số bù trong hệ cơ số: bù r, bù (r– 1). Ví dụ: Bù 2, bù 1 trong hệ cơ số 2 Bù 10, bù 9 trong hệ cơ số 10 Số bù r -1: Đặt N là số có n ký số trong hệ r thì bù r của N là (rn -1) –N Ta có: bù 9 của thập phân N là (10n – 1), 10n là số 1 theo sau là n số 0. SỐ BÙ (tt) Ví dụ: 103 = 1000, vậy 10n -1 là số gốm n số 9 103- 1 =999. Vậy bù 9 của N nhận được bằng cách trừ 9 cho từng ký số của N. Ví dụ: bù 9 của 546700 là 999999 – 546700 = 453299 Bù 9 của 12389 là 99999 – 12389 = 87610 SỐ BÙ (tt) Với r = 2: Bù 1 của số nhị phân N là (2n -1) – N Với 2n là số 1 theo sau n số 0. Ví dụ: 24 = 100002 2n -1 là số nhị phân gồm n số 1 Ví dụ: 24 -1 = 11112. Vậy bù 1 của số nhị phân nhận được bằng cách trừ 1 cho mỗi ký số. Khi trừ, kết quả là 0/1 nếu ký số là 1/0. SỐ BÙ (tt) Số bù r: Bù r số N gồm n ký số là rn – N khi N ≠ 0, và là 0 khi N = 0. Nhận xét: bù r = bù (r-1) + 1 và bù r của N là rn – N. Vậy bù r của r là rn –(rn – N) = N Ví dụ: bù 10 của 238910 là 7610 + 1 = 7611 Bù 2 của 1011002 là 010011 + 1 = 010100 SỐ BÙ (tt) Có thể tính bù 10 theo quy tắc sau: - Giữ nguyên các ký số 0 bên phải cho đến khi gặp các ký số khác 0. - Lấy 10 trừ cho các ký số đầu tiên khác 0 đó. - Lấy 9 trừ cho các số còn lại. Ví dụ: bù 10 của 246700 là 753300 Tương tự có thể tính bù 2 theo quy tắc: - Giữ nguyên các ký số 0 bên phải cho đến ký số 1 đầu tiên. - Phần còn lại đổi 0 thành 1 và ngược lại. Ví dụ: bù 2 của 1101100 là 0010100 SỐ BÙ (tt) Các định nghĩa trên cho số không có phần phân (không có dấu chấm cơ). Nếu có, chuyển sang dạng không có dấu chấm để lấy bù, sau đó phục hồi lại (dấu chấm). Khi cộng các số không dấu, nếu không có nhớ, kết quả nhận được chính là kết quả cuối cùng, nếu có nhớ thì kết quả nhận được là sai (thường gọi là tràn) PHÉP TRỪ SỐ KHÔNG DẤU (tt) Trừ trực tiếp bằng cách mượn 1 ở vị trí có nghĩa cao hơn sẽ không thuận tiện khi cài đặt phần cứng, do đó ta sẽ dùng số bù. Phép trừ hai số M và N không dấu gồm n ký số M – N (N≠ 0) trong cơ số r như sau: - Cộng số bị trừ M với số bù r của số trừ N: M + (rn – N) = M – N + rn PHÉP TRỪ SỐ KHÔNG DẤU (tt) Nếu M ≥ N, tổng tạo ra số nhớ rn, bỏ số nhớ này đi, kết quả còn lại là M – N. - Nếu M 127) Ví dụ: Nhớ 0 1 Nhớ 1 0 +70 01000110 -70 01000110 +80 01010000 +80 01010000 +150 10010110 -150 01101010 Cộng 2 số dương, kết quả âm -> tràn Cộng 2 số âm, kết quả dương -> tràn Có thể phát tràn bằng cách xét 2bit nhớ vào và ra tại bit dau. Khi 2bit này khác nhau -> tràn. Có thể cho 2bit này vào cổng XOR, nếu ngõ ra là 1 ->tràn SỐ BCD (Binary Coded Decimal) Hệ nhị phân thích hợp cho các hệ thống nhưng con người lại quen với hệ 10. Do đó khi xuất nhập dữ liệu thường là nhập xuất theo dạng thập phân. Nếu việc nhập xuất số thập phân không nhiều thì có thể chuyển số hệ 10 khi nhập sang hệ 2, tính toán xong (theo hệ 2), chuyển ngược lại sang hệ 10 trước khi xuất ra ngoài. Nếu như việc nhập xuất nhiều, mất thời gian ta có thể dùng số BCD Số thập phân (10) nhập vào máy sẽ được mã hóa theo dạng BCD bằng cách chuyển mỗi ký số hệ 10 thành 4bit. Sau đó tính toán trực tiếp trên mã BCD, tính toán xong chuyển ra ngoài theo dạng thập phân. Biểu diễn số dạng BCD sẽ tốn kém hơn biểu diễn dạng nhị phân vì mỗi ký số BCD cần tới 4 mạch lật. Ví dụ: Số 4385 có dạng BCD là: 0100 0011 1000 0101 Mạch tính toán thập phân cũng phức tạp hơn nhưng thuận lợi là việc nhập xuất đều là thập phân. Khi cộng số BCD, nếu các ký số vượt quá trị cho phép (trong khoảng từ 0000 đến 1001) hoặc có nhớ khi cộng thì phải sửa sai bằng cách cộng thêm 0110 vào ký số bị sai. Ví dụ: 27 0010 0111 +36 0011 0110 63 0101 1101 Kết quả sai 0000 0110 Sửa sai 0110 0011 Kết quả =63 Khi trừ số BCD, nếu có mượn khi trừ thì phải sửa sai bằng cách trừ bớt 0110 vào ký số bị sai. Ví dụ: 61 0110 0001 -38 0011 1000 23 0010 1001 Kết quả sai 0000 0110 Sửa sai 0010 0011 Kết quả =23 SỐ CHẤM ĐỘNG Để biểu diễn các số rất lớn hoặc rất bé, người ta dùng cách biểu diễn số khác gọi là chấm động (floating point number). Biểu diễn số chấm động gồm 4phần: - Dấu (biểu diễn số dương hoặc âm) - Định trị (mantissa) - Phần mũ (exponent) - Cơ số Ví dụ: Số thập phân 12345.67(0.1234567x105) Biểu diễn theo dạng chấm động là: +, định trị là 0.1234567, mũ là 5 và cơ số là 10 Trong trường hợp tổng quát, chỉ cần một bit để biểu diễn dấu S (thường là 0 biểu diễn số dương, 1 biểu diễn số âm) Nếu M là định trị, E là phần mũ và R là cơ số thì trị của số chấm động là (-1)S xMxRE Trong 4phần chỉ lưu dấu, định trị và mũ. Cơ số được lấy mặc nhiên nên không lưu. Số chấm động được gọi là chuẩn hóa (normalized) khi ký số có nghĩa cao nhất khác 0. Ví dụ: số thập phân 1.35 là chuẩn hóa nhưng 0.0135 thì không. Việc chuẩn hóa cho phép lấy độ chính xác cao nhât. Không thể chuẩn hóa số 0, trong trường hợp này cả định trị và mũ đều là 0. BIỂU DIỄN KÝ TỰ Ngoài việc biểu diễn số, còn cần biểu diễn các ký tự chữ cái, hay các ký tự khác. Thường dùng mã ASCII (7bit) để biểu diễn 128 ký tự gọi là mã ASCII-7 Do đơn vị lưu trữ thường là 8bit nên dùng mãASCII mở rộng (8bit) để biểu diễn 256 ký tự gồm 3vùng. 00-1F (ký tự điều kiển) 20-7F (ký tự in được) 80-FF (ký tự mở rộng) Cơ số của các số là bao nhiêu nếu nghiệm PT bậc 2 : X2 – 10x + 31 = 0 có nghiệm x= 5 và x = 8? 2. Lấy bù 9 các số thập phân 8 ký số 12349876; 00980100; 90009951 và 00000000 Thực hiện phép trừ với số thập phân không dấu bằng cách lấy bù 10 số trừ: 5250 -1321 20 – 100 1753 – 8640 1200 – 250 Thực hiện phép trừ với số nhị phân không dấu bằng cách lấy bù 10 số trừ 11010 – 10000; 100 – 110000 11010 – 1101; 1010100 - 1010100