1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 2: Các kiểu dữ liệu và thao tác (GV. Nguyễn Nhật Nam)

36 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 2: Các kiểu dữ liệu và thao tác (GV. Nguyễn Nhật Nam). Bài giảng có nội dung trình bày về kiểu dữ liệu số nguyên; số nguyên bù 2; phép toán số học trên bit; phép toán luận lý trên bit; kiểu dữ liệu dấu chấm động;... Mời các bạn cùng tham khảo!

CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC CHƯƠNG CÁC KIỂU DỮ LIỆU VÀ THAO TÁC KIỂU DỮ LIỆU SỐ NGUYÊN SỐ NGUYÊN BÙ PHÉP TOÁN SỐ HỌC TRÊN BIT PHÉP TOÁN LUẬN LÝ TRÊN BIT KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.1 KIỂU DỮ LIỆU SỐ NGUYÊN 2.1.1 Số nguyên không dấu (unsigned integer) Dùng để biểu diễn số lần lặp lại tác vụ định, hay địa ô nhớ Ví dụ: 102, 101101B CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.1 KIỂU DỮ LIỆU SỐ NGUYÊN 2.1.2 Số nguyên có dấu (signed integer) • Dạng biểu diễn số âm dùng bit dấu trị tuyệt đối, bit có trọng số cao quy định dấu cho số có trị tuyệt đối sau,  số dương,  âm • Dạng bù biểu diễn số âm việc đảo trạng thái bit số dương tương ứng, đảo từ qua 0, ngược lại • Dạng bù biểu diễn số âm dạng bù cơng thêm Dạng biển diễn Trị biểu diễn Trị tuyệt đối có dấu Bù Bù 00000 0 00001 1 00010 2 00011 3 00100 4 00101 5 00110 6 00111 7 01000 8 01001 9 01010 10 10 10 01011 11 11 11 01100 12 12 12 01101 13 13 13 01110 14 14 14 01111 15 15 15 10000 -0 -15 -16 10001 -1 -14 -15 10010 -2 -13 -14 10011 -3 -12 -13 10100 -4 -11 -12 10101 -5 -10 -11 10110 -6 -9 -10 10111 -7 -8 -9 11000 -8 -7 -8 11001 -9 -6 -7 11010 -10 -5 -6 11011 -11 -4 -5 11100 -12 -3 -4 11101 -13 -2 -3 11110 -14 -1 -2 11111 -15 -0 -1 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.2 SỐ NGUYÊN BÙ Có hai bước quy luật tạo số bù số: - Lật ngược trạng thái bit biểu diễn từ qua 0, từ qua mẫu, gọi phép bù - Cộng vào mẫu kết bước 1, để có mẫu kết sau CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.2 SỐ NGUYÊN BÙ Thí dụ 2.1: Tìm dạng bù cho số -12 Mẫu nhị phân trị tuyệt đối toán hạng 12 01100 Ta thực hai bước sau: B1 Tìm bù 01100: 10011 B2 Cộng vào dạng bù 1: 10100 01100 + 10100 100000 Kết laø CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.3 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 2.3.1 Cộng trừ Ví dụ 2.2: Tính biểu thức 11+3.Ta có: Trị thập phân 11 biểu diễn dạng Trị thập phân biểu diễn dạng Tổng, có trị 14, 01011 00011 01110 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.3 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 2.3.1 Cộng trừ Thí dụ 2.3: Mô thực phép trừ thao tác cộng ALU, tính biểu thức: 12 – 19 Trước tiên, CPU phân tích để tính biểu thức dạng: 12 + (-19), sau tính bù 19 (010011) để có -19 (101101) Cộng 12, (001100), với -19 (101101): 001100 + 101101 111001 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.3 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 2.3.1 Cộng trừ Thí dụ 2.4: Cộng số với (x + x), tính + Giả sử ta xét mẫu có chiều dài bit Mẫu nhị phân bit 00110, tức dạng khai triển laø 0.24 + 0.23 + 1.22 + 1.21 + 0.20 Khi ta thực + 6, hay 2.6, biểu thức khai triển 0.25 + 0.24 + 1.23 + 1.22 + 0.21 Ta có kết quả: 01100, tức dịch toán hạng ban đầu bit sang trái vị trí CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.3 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN SỐ HỌC 2.3.2 Mở rộng dấu Thao tác mở rộng thêm bit dấu (0 với số dương với số âm) vào phía trước dạng bù không làm thay đổi giá trị số ban đầu Thao tác gọi thao tác mở rộng dấu (Sign-EXTension), thường viết tắt SEXT Ví dụ: 000101 -> 0000000000000101 100101 -> 1111111111100101 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.4 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2.4.3 Phép toán NOT NOT hàm luận lý đơn toán hạng, cần toán hạng nhập Toán hạng gọi toán hạng bù, thực thao tác lật ngược trạng thái luận lý từ qua 0, từ qua CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.4 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2.4.3 Phép toán NOT CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.4 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2.4.3 Phép toán NOT a: 0100 0001 c = NOT a: 10111110 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.4 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2.4.4 Phép toán Exclusive-OR (EX-OR) Phép toán gọi ngắn gọn XOR Đây toán tử hai toán hạng Đầu XOR hai đầu vào khaùc CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.4 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2.4.4 Phép toán Exclusive-OR (EX-OR) CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.4 PHÉP TOÁN TRÊN BIT – PHÉP TOÁN LUẬN LÝ 2.4.4 Phép toán Exclusive-OR (EX-OR) Ví dụ 2.9: Nếu c kết XOR a b, với a = 0011 1101 b = 0100 0001, c ? a : 0011 1101 b : 0100 0001 c : 0111 1100 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIEÅU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Kiểu liệu dấu chấm động cách giải cho vấn đề biểu diễn số thập phân thay dùng dấu chấm tónh Các kiến trúc tập lệnh (ISA) có kiểu liệu dấu chấm động theo định dạng chuaån IEEE 754 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Một chúng kiểu float, chiều dài 32 bit, có cấu trúc sau: bit cho dấu (dương hay âm) bit cho tầm (vùng số mũ-exponent) 23 bit cho độ xác (fraction) N = (-1)S x 1.fraction x 2exponent-127, ≤ exponent ≤ 254 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Phần mũ dài bit nhị phân, biểu diễn 256 trị không dấu, ta sử dụng 254 trị mà Vùng mũ chứa 0000 0000 (tức 0), hay 1111 1111 (tức 255) cho ý nghóa đặc biệt khác mà ta xét sau CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIEÅU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Ví dụ 2.10: Hãy biểu diễn số - dạng kiểu liệu dấu chấm động Ví dụ 2.11: Hãy tìm trị cho dạng biểu diễn thuộc kiểu dấu chấm động sau: 0111101100000000000000000000000 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Nếu phần mũ chứa 00000000 số mũ xem la ø -126, phần trị bắt đầu bit bên trái dấu chấm nhị phân, tới dấu chấm nhị phân, theo sau 23 bit phần trị bình thường, cụ theå (-1)S x 0.fraction x 2-126 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Ví dụ, dạng biểu diễn dấu chấm động 00000000 00001000000000000000000 có bit dấu 0, nên số dương, tám bit kế 0, nên số mũ -126, 23 bit cuối tạo dạng số 0.00001000000000000000000, tức 2-5 Như vậy, số biểu diễn 2-5 2-126, tức 2-131 CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Thí dụ 2.12: Kiểm chứng trị kiểu dấu chấm động mẫu sau: 10000011 00101000000000000000000 1.00101x 24 = 18.5 10000010 00101000000000000000000 laø -1 x 1.00101x 23 = -9.25 11111110 11111111111111111111111 laø 1.111…11 x 2127 ~ 2128 00000000 00000000000000000000001 laø -2-149 00000000 00000000000000000000000 laø 0+ 00000000 00000000000000000000000 laø 0- CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Nếu phần mũ chứa 11111111 ta có hai khả xảy ra: - Nếu phần trị 0, số dương vô cực (+) hay âm vô cực (-) tùy vào bit dấu -Nếu phần trị khác 0, lúc việc biểu diễn số dấu chấm động không số (Not a Number - NaN), không quan tâm tới bit dấu Dạng NaN báo hiệu thao tác không hợp lệ nhân zero (0) với vô cực () CHƯƠNG CÁC DỮ LIỆU VÀ THAO TÁC 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Tương tự, kiểu double có chiều dài 64 bit theo định dạng sau: N = (-1)S x 1.fraction x 2exponent-1023, ≤ exponent ≤ 2046 ... 10000 -0 -1 5 -1 6 10001 -1 -1 4 -1 5 10010 -2 -1 3 -1 4 10011 -3 -1 2 -1 3 10100 -4 -1 1 -1 2 10101 -5 -1 0 -1 1 10110 -6 -9 -1 0 10111 -7 -8 -9 11000 -8 -7 -8 11001 -9 -6 -7 11010 -1 0 -5 -6 11011 -1 1 -4 -5 ... 11011 -1 1 -4 -5 11100 -1 2 -3 -4 11101 -1 3 -2 -3 11110 -1 4 -1 -2 11111 -1 5 -0 -1 CHƯƠNG C? ?C DỮ LIỆU VÀ THAO T? ?C 2.2 SỐ NGUYÊN BÙ C? ? hai bư? ?c quy luật tạo số bù số: - Lật ngư? ?c trạng thái bit biểu... tónh C? ?c kiến tr? ?c tập lệnh (ISA) c? ? kiểu liệu dấu chấm động theo định dạng chuẩn IEEE 754 CHƯƠNG C? ?C DỮ LIỆU VÀ THAO T? ?C 2.5 KIỂU DỮ LIỆU DẤU CHẤM ĐỘNG (Floating point data type) Một chúng kiểu

Ngày đăng: 05/07/2022, 13:47

TỪ KHÓA LIÊN QUAN