Bài giảng Tin học II - Chương II: Các kiểu dữ liệu thao tác - Trần Anh Dũng
2. Số nguyên có dấu
Ở dạng biểu diễn số âm dùng bit dấu và trị tuyệt đối, bit có
sau, nếu bằng 0 Æ số dương, 1 Æ âm.
Dạng bù 1 sẽ biểu diễn số âm bằng việc đảo các trạng thái bit
của số dương tương ứng, đảo từ 1 qua 0, và ngược lại.
Dạng bù 2 (sẽ được xét cụ thể ở mục dưới) sẽ biểu diễn số âm
bằng dạng bù 1 của nó công thêm 1.
ÆTrong ba cách 2 cách đầu đơn giản về tư duy nhưng không
có lợi cho việc thực hiện phép toán hoặc mất trị trong tầm (2
trị 0, và -0, thực ra là 1 trị)
1/23/2009 CBGD: ThS.Trần Anh Dũng 1 Chương II CBG D : ThS.Trần Anh D ũng CÁC KIỂU DỮ LIỆU THAO TÁC g 1 KIỂU DỮ LIỆU SỐ NGUYÊN 1. Số nguyên không dấu 2. Số nguyên có dấu CBG D : ThS.Trần Anh D ũng 2 1/23/2009 CBGD: ThS.Trần Anh Dũng 2 KIỂU DỮ LIỆU SỐ NGUYÊN 1. Số nguyên không dấu CBG D : ThS.Trần Anh D ũng 3 KIỂU DỮ LIỆU SỐ NGUYÊN 2. Số nguyên có dấu Ở dạng biểu diễn số âm dùng bit dấu và trị tuyệt đối, bit có t ố hất ẽ đị h dấ h ố ó t ị t ệt đối CBG D : ThS.Trần Anh D ũng rọng s cao n s quy n u c o s c r uy ngay sau, nếu bằng 0Æ số dương, 1Æ âm. Dạng bù 1 sẽ biểu diễn số âm bằng việc đảo các trạng thái bit của số dương tương ứng, đảo từ 1 qua 0, và ngược lại. Dạng bù 2 (sẽ được xét cụ thể ở mục dưới) sẽ biểu diễn số âm bằng dạng bù 1 của nó công thêm 1. ÆTrong ba cách 2 cách đầu đơn giản về tư duy nhưng không 4 , , có lợi cho việc thực hiện phép toán hoặc mất trị trong tầm (2 trị 0, và -0, thực ra là 1 trị). 1/23/2009 CBGD: ThS.Trần Anh Dũng 3 SỐ NGUYÊN BÙ 2 CBG D : ThS.Trần Anh D ũng 5 SỐ NGUYÊN BÙ 2 CBG D : ThS.Trần Anh D ũng 6 1/23/2009 CBGD: ThS.Trần Anh Dũng 4 SỐ NGUYÊN BÙ 2 CBG D : ThS.Trần Anh D ũng 7 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 1. Cộng và trừ: ¾ Cá hé t á ố h t ê á ố bù 2 h à t à CBG D : ThS.Trần Anh D ũng c p p o n s ọc r n c c s o n o n tương tự như trên các số thập phân mà độc giả đã biết. ¾ Phép cộng sẽ thực hiện từ phải qua trái, từng ký số, mỗi lần như vậy ta có một ký số tổng và một ký số nhớ 8 . 1/23/2009 CBGD: ThS.Trần Anh Dũng 5 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 1. Cộng và trừ: CBG D : ThS.Trần Anh D ũng 9 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 1. Cộng và trừ: CBG D : ThS.Trần Anh D ũng 10 1/23/2009 CBGD: ThS.Trần Anh Dũng 6 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 2. Mở rộng dấu: CBG D : ThS.Trần Anh D ũng Số 5 (số dương) dạng bù 2Æ 000101 (6 bit) Thanh ghi dài 16 bit Æ mở rộng chiều dài bit bằng cách thêm vào các bit 0 trướcÆ 0000 0000 0000 0101 Do vậy với số dương thêm bit 0 phía trước Số 2 (số âm) dạng bù 2Æ 11110 (5 bit) Nếu thêm số 0 trước Æ sai kết quả. VD: 00011110 Æ số 11 30 Do vậy với số âmÆ thêm bit dấu 1 phía trước PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 3. Tràn số: hiế d i bi i i h d i bi kh ố l CBG D : ThS.Trần Anh D ũng C u à t có g ớ ạn, ví ụ vớ 5 t, oảng s à -16 Æ 15. Do vậy 2 phép tính sau dẫn đến kết quả sai: 9 (bù 2: 01001) + 11 (bù 2: 01011) = -12 (10100) -12 (bù 2: 10100) – 6 (bù 2: 11010) = 14 (01110) Î Để tránh tràn số phải đổi sang kiểu dữ liệu lớn hơn (có chiều dài chuỗi bit lớn hơn). 12 1/23/2009 CBGD: ThS.Trần Anh Dũng 7 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 1Æ trạng thái đúng. Æ CBG D : ThS.Trần Anh D ũng 0 trạng thái sai. 13 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 1. Phép toán END: CBG D : ThS.Trần Anh D ũng 14 1/23/2009 CBGD: ThS.Trần Anh Dũng 8 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2. Phép toán OR: CBG D : ThS.Trần Anh D ũng 15 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 3. Phép toán NOT: CBG D : ThS.Trần Anh D ũng 16 1/23/2009 CBGD: ThS.Trần Anh Dũng 9 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 4. Phép toán EX-OR: CBG D : ThS.Trần Anh D ũng 17 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) Số rất nhỏ hoặc rất lớn: Khi biểu diễn số thực dấu chấm tĩnh CBG D : ThS.Trần Anh D ũng Æ Biểu diễn số tốn rất nhiều bộ nhớ Æ Không biểu diễn được 18 1/23/2009 CBGD: ThS.Trần Anh Dũng 10 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) CBG D : ThS.Trần Anh D ũng 19 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) CBG D : ThS.Trần Anh D ũng 20 1/23/2009 CBGD: ThS.Trần Anh Dũng 11 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) Trường hợp đặc biệt: CBG D : ThS.Trần Anh D ũng 9Bit mũ: 00000000 Æ số mũ là -126 (tức là 2-126) 9Bit mũ: 11111111 •Phần trị bằng 0Æ số là dương vô cực hay âm vô cực tùy vào bit dấu •Phần trị khác 0 Æ không phải là số: NaN (Not a 21 Number)Æ không quan tâm tới dấu KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) CBG D : ThS.Trần Anh D ũng 22
File đính kèm:
- bai_giang_lap_trinh_c_chuong_ii_cac_kieu_du_lieu_thao_tac_tr.pdf