Bài giảng Các kiểu dữ liệu thao tác - Trần Anh Dũng
Bạn đang xem tài liệu "Bài giảng Các kiểu dữ liệu thao tác - Trần Anh Dũng", để 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:
- bai_giang_cac_kieu_du_lieu_thao_tac_tran_anh_dung.pdf
Nội dung text: Bài giảng Các kiểu dữ liệu thao tác - Trần Anh Dũng
- 1/23/2009 Chương II CBGD: ThS.Tr CÁC KIỂU DỮ LIỆU ầ n Anh D THAO TÁC ũ n g g 1 KIỂU DỮ LIỆU SỐ NGUYÊN 1. Số nguyên không dấu 2. Số nggyuyên có dấu CBGD: ThS.Tr ầ n Anh D ũ ng 2 CBGD: ThS.Trần Anh Dũng 1
- 1/23/2009 KIỂU DỮ LIỆU SỐ NGUYÊN 1. Số nguyên không dấu CBGD: 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ểudiễnsố âm dùng bit dấuvàtrị tuyệt đối, bit có trọng số cao nhất sẽ quy định dấu chosố có trị tuyệt đối ngay CBGD: ThS.Tr sau, nếubằng 0 Æ số dương, 1 Æ âm. Dạng bù 1 sẽ biểudiễnsố âm bằng việc đảocáctrạng thái bit ầ củasố dương tương ứng, đảotừ 1 qua 0, và ngượclại. n Anh D Dạng bù 2 (sẽđượcxétcụ thểởmụcdưới) sẽ biểudiễnsố âm ũ bằng dạng bù 1 của nó công thêm 1. ng ÆTrong ba cách, 2 cách đầu đơn giản về tư duy, nhưng không có lợichoviệcthựchiện phép toán hoặcmấttrị trong tầm(2 trị 0, và -0, thựcralà1trị). 4 CBGD: ThS.Trần Anh Dũng 2
- 1/23/2009 SỐ NGUYÊN BÙ 2 CBGD: ThS.Tr ầ n Anh D ũ ng 5 SỐ NGUYÊN BÙ 2 CBGD: ThS.Tr ầ n Anh D ũ ng 6 CBGD: ThS.Trần Anh Dũng 3
- 1/23/2009 SỐ NGUYÊN BÙ 2 CBGD: 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ácphép tátoánsố học têtrêncácsố bù 2 hàhoàn tàtoàn CBGD: ThS.Tr tương tự như trên các số thậpphânmàđộcgiảđã biết. ầ ¾ Phép cộng sẽ thựchiệntừ phải qua trái, từng ký n Anh D ũ số,mỗilầnnhư vậytacómộtkýsố tổng và một ng ký số nhớ. 8 CBGD: ThS.Trần Anh Dũng 4
- 1/23/2009 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 1. Cộng và trừ: CBGD: 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ừ: CBGD: ThS.Tr ầ n Anh D ũ ng 10 CBGD: ThS.Trần Anh Dũng 5
- 1/23/2009 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 2. Mở rộng dấu: Số 5 (số dương) dạng bù 2 Æ 000101 (6 bit) CBGD: ThS.Tr Thanh ghi dài 16 bit Æ mở rộng chiềudàibitbằng cách thêm vào các bit 0 trước Æ 0000 0000 0000 0101 ầ Do vậyvớisố dương thêm bit 0 phía trước n Anh D Số 2 (số âm) dạng bù 2 Æ 11110 (5 bit) ũ Nếuthêmsố 0trước Æ sai kếtquả. VD: 00011110 Æ số ng 30 Do vậyvớisố âm Æ thêm bit dấu 1 phía trước 11 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 3. Tràn số: Chiếu didài bitcógiới hạn,vídụ với 5 bit, khoảng số là-16 CBGD: ThS.Tr Æ 15. Do vậy 2 phép tính sau dẫn đếnkếtquả sai: 9 (bù 2: 01001) + 11 (bù 2: 01011) = -12 (10100) ầ -12 (bù 2: 10100) – 6 (bù 2: 11010) = 14 (01110) n Anh D Î Để tránhtrànsố phải đổisangkiểudữ liệulớnhơn(có ũ chiều dài chuỗibitlớnhơn). ng 12 CBGD: ThS.Trần Anh Dũng 6
- 1/23/2009 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 1 Æ trạng thái đúng. 0 Æ trạng thái sai. CBGD: ThS.Tr ầ n Anh D ũ ng 13 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 1. Phép toán END: CBGD: ThS.Tr ầ n Anh D ũ ng 14 CBGD: ThS.Trần Anh Dũng 7
- 1/23/2009 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2. Phép toán OR: CBGD: 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: CBGD: ThS.Tr ầ n Anh D ũ ng 16 CBGD: ThS.Trần Anh Dũng 8
- 1/23/2009 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 4. Phép toán EX-OR: CBGD: 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 CBGD: ThS.Tr Æ Biểu diễn số tốn rất nhiều bộ nhớ Æ Không biểu diễn được ầ n Anh D ũ ng 18 CBGD: ThS.Trần Anh Dũng 9
- 1/23/2009 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) CBGD: ThS.Tr ầ n Anh D ũ ng 19 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) CBGD: ThS.Tr ầ n Anh D ũ ng 20 CBGD: ThS.Trần Anh Dũng 10
- 1/23/2009 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) Trường hợp đặcbiệt: 9Bit mũ: 00000000 Æ số mũ là -126 (tứclà2-126) CBGD: ThS.Tr 9Bit mũ: 11111111 ầ •Phầntrị bằng 0 Æ số là dương vô cực hay âm vô cựctùy n Anh D vào bit dấu ũ ng •Phần trị khác 0 Æ không phải là số: NaN (Not a Number) Æ không quan tâm tớidấu 21 KiỂU DỮ LiỆU DẤU CHẤM ĐỘNG (FLOATING POINT DATA TYPE) CBGD: ThS.Tr ầ n Anh D ũ ng 22 CBGD: ThS.Trần Anh Dũng 11