Hệ thống số - Chương 2: Biểu diễn các dạng số

pdf 58 trang vanle 11040
Bạn đang xem 20 trang mẫu của tài liệu "Hệ thống số - Chương 2: Biểu diễn các dạng số", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfhe_thong_so_chuong_2_bieu_dien_cac_dang_so.pdf

Nội dung text: Hệ thống số - Chương 2: Biểu diễn các dạng số

  1. HỆ THỐNG SỐ Chương 2 Biểu Diễn Các Dạng Số 1
  2. Nội Dung 1. Giới thiệu các hệ thống số – Số Thập Phân – Số Nhị Phân – Số Thập Lục Phân – Số Bát Phân 2. Chuyển đổi giữa các hệ thống số 3. Biểu diễn số nhị phân 4. Biểu diễn số có dấu 5. Biểu diễn các loại số khác – Số dấu chấm động – BCD – ASCII 2
  3. 1. Giới thiệu các hệ thống số • Số Thập Phân • Số Nhị Phân • Số Thập Lục Phân • Số Bát Phân 3
  4. Hệ thống số Cơ số Chữ số Thập Phân 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Nhị Phân 2 0, 1 Bát Phân 8 0, 1, 2, 3, 4, 5, 6, 7 Thập Lục 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 A, B, C, D, E, F Các Hệ Thống Số
  5. Số Thập Phân Ví dụ: 2745.21410 Decimal point weight weight weight weight weight 5
  6. Số Thập Phân • Phân tích số thập phân : 2745.21410 Decimal point • 2745.21410 = 2 * 103 + 7 * 102 + 4 * 101 + 5 * 100 + 2 * 10-1 + 1 * 10-2 + 4 * 10-3 6
  7. Số Nhị Phân Ví dụ: 1011.1012 Binary point weight weight weight weight weight 7
  8. Số Nhị Phân • Phân tích số nhị phân 1011.1012 Binary point 3 2 1 0 • 1011.1012 = 1 * 2 + 0 * 2 + 1 * 2 + 1 * 2 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3 = 11.62510 8
  9. Số Bát Phân • Số Bát Phân : 3728 2 1 0 • 3728 = 3 * 8 + 7 * 8 + 2 * 8 = 25010 9
  10. Số Thập Lục Phân • Phân tích số thập lục phân : 3BA16 2 1 0 • 3BA16 = 3 * 16 + 11 * 16 + 10 * 16 = 95410 10
  11. Chuyển đổi giữa các hệ thống số 11
  12. Chuyển đổi sang số thập phân • Nhân mỗi chữ số (digit) với trọng số (weight) 12
  13. Ví Dụ • Biểu diễn 37028 sang số thập phân • Biểu diễn 1A2F16 sang số thập phân 13
  14. Số Thập Phân => Số Nhị Phân Decimal Binary • Chia số thập phân với 2 và sau đó viết ra phần dư còn lại – Chia cho đến khi có thương số là 0. • Phần số dư đầu tiên gọi là LSB (Bit trọng số nhỏ nhất) • Phần số dư cuối cùng gọi là MSB (Bit trọng số lớn nhất) 14
  15. Ví dụ : 2510 => Số Nhị Phân 15
  16. Số Thập Phân => Số Thập Lục Phân Decimal Hexadecimal • Chia số thập phân cho 16 và viết ra phần dư còn lại – Chia cho đến khi có thương số là 0. • Phần số dư đầu tiên gọi là LSD (Chữ số ít quan trọng nhất) • Phần số dư cuối cùng gọi là MSD (Chữ số quan trọng nhiều nhất) 16
  17. Ví Dụ: 42310 => Thập Lục Phân 17
  18. Thập Phân => Bát Phân Decimal Octal • Chia số thập phân cho 8 và viết ra phần dư còn lại – Chia cho đến khi có thương số là 0. • Phần số dư đầu tiên gọi là LSD (Chữ số ít quan trọng nhất) • Phần số dư cuối cùng gọi là MSD (Chữ số quan trọng nhiều nhất) 18
  19. Bát Phân => Nhị Phân Octal Binary • Chuyển đổi lần lượt mỗi chữ số ở dạng Bát Phân sang nhóm 3 bits Nhị Phân Octal 0 1 2 3 4 5 6 7 Binary 000 001 010 011 100 101 110 111 • VD: 19
  20. Thập Lục Phân => Nhị Phân Hex Bin 0 0000 Hexadecimal Binary 1 0001 2 0010 3 0011 4 0100 • Chuyển đổi lần lượt mỗi chữ số ở dạng Thập Lục 5 0101 6 0110 Phân sang nhóm 4 bits Nhị Phân 7 0111 8 1000 9 1001 • VD: A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 20
  21. Nhị Phân => Bát Phân Binary Octal • Nhóm 3 bits bắt đầu từ ngoài cùng bên trái của số • Chuyển đổi mỗi nhóm trên sang dạng chữ số của Bát Phân • VD: 10110101112 => Bát Phân 13278 21
  22. Nhị Phân => Thập Lục Phân Binary Hexadecimal • Nhóm 4 bits từ phía ngoài cùng bên trái của số • Chuyển đổi mỗi nhóm trên sang 1 chữ số Thập Lục • VD: 101011010101110011010102 => Thập Lục Phân 56AE6A16 22
  23. Bát Phân Thập Lục Phân Binary Octal Hexadecimal • Chuyển đổi thông qua trung gian là số Nhị Phân 23
  24. Ví dụ: 1F0C16 => Bát Phân Chuyển đổi từ Thập Lục Phân sang Nhị Phân 1F0C16 = 1_1111_0000_11002 Chuyển đổi từ Nhị Phân sang Bát Phân 1_111_100_001_1002 = 174148 24
  25. Ví Dụ: 10768 => Thập Lục phân Chuyển đổi từ Bát Phân sang Nhị Phân 10768 = 1_000_111_1102 Chuyển đổi từ Nhị Phân sang Thập Lục Phân 10_0011_11102 = 23E16 25
  26. Ví Dụ • Thực hiện phép chuyển đổi giữa các hệ thống số Decimal Binary Octal Hexadecimal 35 1101101 712 1AF 26
  27. Phân Số • Số Thập Phân => Số Nhị Phân 27
  28. Ví dụ: 189.02310 => Số Nhị Phân 28
  29. Ví Dụ • Thực hiện phép chuyển đổi giữa các hệ thống số Decimal Binary Octal Hexadecimal 29.8 110.1101 3.07 C.82 29
  30. Các phép tính số nhị phân • Phép Cộng • Phép Nhân • Phép Trừ 30
  31. Phép Cộng • 2 (1-bit) phép cộng 2 số nhị phân tổng quát A B A + B 0 0 0 0 1 1 1 0 1 1 1 10 31
  32. Phép Cộng • Phép cộng 2 số nhị phân không dấu 32
  33. Phép Nhân • 2 1-bit Phép Nhân 2 số nhị phân tổng quát A B A * B 0 0 0 0 1 0 1 0 0 1 1 1 33
  34. Phép Nhân • Phép nhân 2 số nhị phân không dấu 34
  35. Phép Trừ • Quy tắc thực hiện phép trừ như sau: 0 - 0 = 0 1 - 1 = 0 1 - 0 = 1 [1]0 - 1 = 1 Mượn1 • VD Thực hiện phép trừ 2 số nhị phân 5 bits: 00111 từ 10101 10101 21 00111 7 0 11 1 0 = 14 35
  36. Biểu diễn số có dấu • Phương pháp biểu diễn số có dấu • Dạng số bù 1 • Dạng số bù 2 • Chuyển dạng số bù 2 sang số nhị phân • Các phép tính trong hệ thống số bù 2 • Hiện tượng TRÀN (Overflow) 36
  37. Biểu diễn số có dấu • Số dương (+) và Số âm (-) • Sử dụng thêm 1 bit (sign bit) để thể hiện dấu của số: – 0: dương – 1: âm • Bit thể hiện dấu nằm ở ngoài cùng bên trái của số 37
  38. Biểu diễn số có dấu Có rất nhiều phương pháp để biểu diễn số có dấu: • Dấu và độ lớn • Dạng số bù 1 • Dạng số bù 2 • Số quá-K • Cơ số nền -2 • Bảng so sánh • 38
  39. Phương pháp “dấu và độ lớn” • Ví dụ: biểu diễn 1 số 6 bits có dấu +52 -52 39
  40. Phương pháp dạng số bù 1 và bù 2 • Dạng số bù 2 là một trong những cách phổ biến nhất được sử dụng để biểu diễn số có dấu. Ex: Binary 0 1_ 0 0 1 0 _0 1 0 0 (29210) Negate each bit 1’s 1 0_ 1 1 0 1_ 1 0 1 1 (-292 ) complement 10 +1 Add 1 2’s 1 0 1 1 0 1 1 1 0 0 (-292 ) complement 10 40
  41. Biểu diễn số có dấu dưới dạng bù 2 +45 -45 41
  42. Ví Dụ • Biển diễn số có dấu áp dụng phương pháp dạng số bù 2 (a) +13 (b) -9 (c) -2 (d) -8 42
  43. Chuyển đổi số bù 2 sang số nhị phân Binary Ví dụ: Negate each bit 1 0 1 1 0 Add 1 2’s 0 1 0 1 0 complement Negate each bit Add 1 Binary 1 0 1 1 0 43
  44. Phép cộng trong hệ thống số bù 2 • Thực hiện như phép cộng số nhị phân – Bit dấu được xử lý dựa theo cách tương tự như các bit độ lớn – Bit nhớ ở vị trí cuối cùng sẽ được loại bỏ – Nếu kết quả phép tính là số âm, thì đó chính là số dạng bù 2 44
  45. Ví Dụ 45
  46. Ví Dụ • Thực hiện phép cộng 2 số thập phân: +9 và -9? 46
  47. Phép trừ trong hệ thống số bù 2 • Trong ví dụ 4 + (–9), phép cộng trong hệ thống số bù 2 thực chất là phép trừ • Quy tắc thực hiện phép trừ trong hệ thống số bù 2: 47
  48. Ví Dụ • 9 – 4 = ? 48
  49. Hiện tượng tràn số học • Hiện tượng Tràn (Overflow) xảy ra khi số lượng bit của kết quả phép tính vượt quá số bit giới hạn quy định – n bit biểu diễn 1 số từ quy tắc: -2n-1 to +2n-1-1 – Hiện tượng tràn luôn cho 1 kết quả sai hoàn toàn =>Một mạch điện đặc biệt được thiết kế ra để phát hiện hiện tượng tràn xuất hiện 49
  50. Ví dụ hiện tượng Tràn • Số có 4 bit, gồm 3 bit độ lớn và 1 bit dấu O O • Hiện tượng Tràn không xảy ra đối với những phép tính giữa 2 số khác dấu nhau 50
  51. Các hệ thống số khác • BCD • Số dấu chấm động • ASCII 51
  52. BCD (Binary coded decimal) • Mỗi chữ số của số thập phân được biểu diễn bằng số nhị phân 4 bits tương ứng • Ex: 10 10 => BCD 84710 => BCD 52
  53. BCD và Số Nhị Phân 13710 = 100010012 (Số Nhị Phân) Decimal: 1 * 27 + 1 * 23 + 1 * 20 13710 = 0001_0011_0111 (BCD) Decimal: 1 3 7 • BCD sử dụng nhiều bits hơn, thì việc chuyển đổi đơn giản hơn 53
  54. BCD • Mạch thí nghiệm chuyển đổi từ số BCD sang số thập phân 54
  55. Số dấu chấm động • Ký hiệu dấu chấm động có thể biểu diễn cho một số có giá trị rất lớn hay rất nhỏ bằng cách sử dụng một hình thức ký hiệu khoa học • Ví dụ minh họa 1 số dấu chấm động 32 bit có độ chính xác đơn. S E (8 bits) F (23 bits) Sign bit Biased exponent (+127) Magnitude with MSB dropped (IEEE 754 Standard) 55
  56. Số dấu chấm động Biểu diễn giá trị của tốc độ ánh sáng, c, bằng ký hiệu của số dấu chấm động có độ chính xác đơn (c = 0.2998 x 109) Số Nhị Phân , c = 0001_0001_1101_1110_1001_0101_1100_00002. Ký hiệu khoa học, c = 1._0001_1101_1110_1001_0101_1100_0000 x 228. S = 0 // số dương E = 28 + 127 = 15510 = 1001 10112. (IEEE 754, bias = 127) F là 23 bits tiếp theo sau khi bit có giá trị 1 đầu tiên xuất hiện. 32-bit độ chính xác đơn (phần cứng) C = 0 10011011 0001_1101_1110_1001_0101 _110 56
  57. ASCII 57
  58. Thuật ngữ kỹ thuật số Byte 1 byte gồm có 8 bits Floating-point Một số được đại diện dựa trên ký hiệu khoa học, trong đó bao number gồm một số mũ và phần định trị Hexadecimal Hệ số có cơ số nền là 16 Octal Hệ số có cơ số nền là 8 BCD Binary coded decimal: là các mã số, trong đó mỗi chữ số thập phân, từ 0 đến 9, được đại diện bởi một nhóm bốn bit Alphanumeric Bao gồm các chữ số, chữ cái, và các ký hiệu khác ASCII Mã tiêu chuẩn của Mỹ dùng trong việc trao đổi thông tin, mã chữ và số được sử dụng rộng rãi nhất. 58