Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
787,98 KB
Nội dung
Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Mục Lục THẬP PHÂN => NHỊ PHÂN Chuyển Đồi Sang Nhị Phân Số Dương – Số Âm THẬP PHÂN => HEX HEX => THẬP PHÂN Các phép toán + - AND – OR – XOR - NOT Phép cộng: Phép trừ: Phép nhân: Phép chia: Tính tốn luận lý AND – OR – XOR – NOT AND (a&b) OR (a|b) XOR (a^b) NOT (~a) Phép Dịch phép Quay 1/ Phép dịch logic (luận lý) 2/ Phép dịch số học 3/ Phép quay trái – phải Số chấm động 10 Đại số Bool 12 Figure : Dịch phải Logic (luận lý) Figure 2: Dịch trái logic (luận lý) Figure 3: Dịch phải số học Figure 4: Bảng số chuyển đổi nhị phân phần thập phân 10 Figure 5: Các quy tắt IEEE 754 11 Figure 6: Quy tắt IEEE 754 12 Figure 7: Các phép toán Đại Số Bool 13 1|Page Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Tràn số + Tràn số số ko dấu: nhớ bit + Tràn số với số có dấu: - Dương + Dương = Âm && Âm + Âm = Dương - Dương + Âm && Âm + Dương => Ko tràn số THẬP PHÂN => NHỊ PHÂN Chuyển Đồi Sang Nhị Phân Số Dương – Số Âm Tự nghĩ số nguyên phạm vi -256 đến +256, thử đổi số sang hệ nhị phân (dùng 10 bit để biểu diễn) Nhập vào số nguyên: Biểu diễn nhị phân tương ứng: 00 0000 0110 Nhập vào số nguyên: Biểu diễn nhị phân tương ứng: 00 0000 0111 Nhập vào số nguyên: Biểu diễn nhị phân tương ứng: 00 0000 1000 Cách 1: Biểu diễn bit, ta se có sau: Ta kiểm tra số 6: = + Ta nhận thấy có gia trị bảng => ta check số vào, cịn cịn lại Các số khác tương tự 128 64 32 16 2 1 Cách 2: Ta lấy số hệ số 10 chia lấy dư Số chia hết cho 0, số ko chia hết cho Cách dùng để biễu diễn số dương Nhập vào số nguyên: -6 Biểu diễn nhị phân tương ứng: 11 1111 1010 Nhập vào số nguyên: -7 Biểu diễn nhị phân tương ứng: 11 1111 1001 2|Page Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Để biểu diễn số âm, ta làm sau: Bước 1: Đầu tiên ta lấy số đối nó: Ví dụ : số đối -6 Quy đổi sang hệ nhị phân số đối (6), ta se sau: 0 0 1 Bước 2:Lấy bù dãy nhị phân số 6: Ban đầu: 0 0 1 Bù : 1 1 0 Note: thấy chuyển sang sang Bước 3: Sau có bù 1, ta tiến hành kiếm bù 2: Ta công thêm vào dãy bù : 11111001 _ 11 1111 1010 => bù Dãy bù vừa có biễu diễn nhị phân -6 Bước 4: Kiểm tra, ta dùng cách sau: -27 + 26 + 25 + 24+ 23+ 22+ 21+ 20 = Kết -6 Tự nghĩ số nhị phân (dùng 10 bit để biểu diễn), thử đổi số sang hệ 10 Dãy nhị phân: 11 1111 1000 Số nguyên tương ứng: -8 Dãy nhị phân: 00 0000 1001 Số nguyên tương ứng: Dãy nhị phân:11 1111 0111 Số nguyên tương ứng: -9 Dãy nhị phân:00 0000 1010 Số nguyên tương ứng: 10 Dãy nhị phân:11 1111 0110 Số nguyên tương ứng: -10 3|Page Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Sử dụng ngược lại cách đổi từ hệ số 10 => hệ số 2, cách trên: THẬP PHÂN => HEX 1/ Chuyển đổi 2540,34 (thập phân) sang hex + Chuyển đổi phần nguyên : 2540 2540 : 16 = 158 , dư 12 => C 158 : 16 = , dư 14 => E : 16 = , dư => KQ tạm thời: CE9 (1) Sau convert phần nguyên xong, để lấy kết quả, ta tiến hành đảo ngược chuỗi (1) KQ1: 9EC + Chuyển đổi phần thập phân: 0.34 0.34 * 16 = 5.44 lấy => 5.44 – = 0.44 => 0.44 * 16 = 7.04 lấy => 7.04 – = 0.04 => 0.04 * 16 = 0.64 lấy => 0.64 – = 0.64 => 0.64 * 16 = 10.24 lấy 10 => A 10.24 – 10 = 0.24 => 0.24 * 16 = 3.84 lấy => … Sau convert phần thập phân xong, để lấy kết quả, ta ko đảo chuỗi KQ2: 0.570A3… KQ cuối : 9EC, 570A3 HEX => THẬP PHÂN 1/ Chuyển đổi 9EC, 570A3 sang thập phân + 9EC, 570A3 = 9*162 + 14*161 + 12*160 + 5*16-1 + 7*16-2 + 0*16-3 + 10*16-4 + 3*16-5 = 4|Page 2540 , 33999919891357421875 Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Các phép toán + - AND – OR – XOR - NOT Mơ số phép tốn hệ nhị phân: cộng, trừ, nhân, chia Phép cộng: 00100101 (76) + 01001100 (37) _ 01110001 0 1 Cột 76 37 113 Bước Tại cột 3 1 0 1 0 1 Thực phép tính 1+0=1 0+0=0 + = 10, viết nhớ + = 1, cộng thêm (nhớ bước 3), viết nhớ + = 0, cộng thêm (nhớ bước 4), viết 1+0=1 0+1=1 0+0=0 Vậy 00100101 (76) + 01001100 (37) = 01110001(113) Phép trừ: 00111100 (60) 00011110 (30) 00011110 (30) Cột 60 30 30 5|Page 0 0 0 1 1 1 1 0 Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Bước Tại cột Thực phép tính 0–0=0 – = -1, viết nhớ -1 – = 0, cộng với -1 bước -1, viết nhớ -1 – = 0, cộng với -1 bước -1, viết nhớ -1 – = 0, cộng với -1 bước -1, viết nhớ -1 – = 1, cộng với -1 bước 0–0=0 0–0=0 Vậy 00111100 (60) – 00011110 (30) = 00011110 (30) Phép nhân: 1 (10) x 1 (14) _ 00000000 + 0000 _ 00000000 + 1010 _ 00010100 + 1010 00111100 + 1010 0 1 0 (140) Phép chia: 6|Page Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Vậy 1001011 (75) / 1110 (14) = dư Tính tốn luận lý AND – OR – XOR – NOT AND (a&b) + Bit cần giữ AND với 1, ko giữ AND với Vd: 11010110 AND 00110101 _ 00010100 OR (a|b) + Bit cần bật lên OR với 1, bit ko quan tâm OR với Vd: 11010110 OR 00110100 _ 11110110 XOR (a^b) 11010110 XOR 00110100 _ 11100010 7|Page Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 NOT (~a) NOT 11010110 _ 00101001 Phép Dịch phép Quay 1/ Phép dịch logic (luận lý) a/ Dịch phải logic (luận lý) | chia Figure : Dịch phải Logic (luận lý) + Thêm từ trái sang phải theo số bit yêu cầu Ban đầu: 01010101 (85) Dịch logic phải bit: 00010101 (21) Tính nhanh: 85/22 = 21.25 lấy phần nguyên: 21 b/ Dịch trái logic (luận lý) | nhân Figure 2: Dịch trái logic (luận lý) 8|Page Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 + Thêm từ phải sang trái theo số bit yêu cầu Ban đầu: 01010101 Dịch logic phải bit: 11010100 Tính nhanh: 85*21 = 21.25 lấy phần nguyên: 170 2/ Phép dịch số học a/ Dịch phải số học | chia Figure 3: Dịch phải số học + Thêm từ trái sang phải theo số bit yêu cầu Ban đầu: 01010101 (85) Dịch logic phải bit: 00010101 (21) Tính nhanh: 85/22 = 21.25 lấy phần nguyên: 21 b/ Dịch trái số học | nhân + Thêm từ phải sang trái theo số bit yêu cầu Ban đầu: 01010101 Dịch logic phải bit: 11010100 Tính nhanh: 85*21 = 21.25 lấy phần nguyên: 170 3/ Phép quay trái – phải a/ Quay phải Ban đầu: Quay phải bit: b/ Quay trái Ban đầu: Quay trái bit: 9|Page 10100110 11010100 10100110 00110101 Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Số chấm động Biểu diễn số chấm động Figure 4: Bảng số chuyển đổi nhị phân phần thập phân Cho x = -14.625 Bước 1: Chuyển đổi số 14 sang hệ nhị phân chuyển đổi 0.625 sang nhị phân * 14 = 1110 * 0.625 ( 0.625 = 0.5 + + 0125 = 101) + 0.625 x = 1.25 => + 1.25 – = 0.25 => 0.25 x = 0.5 => +1 – 0.5 = 0.5 => 0.5 x = => +1–1=0 0.625 = 101 -14.625 = 1110.101 => 1.110101 x 23 k=3 Bước 2: Chuyển đổi sang biểu diễn chấm động Sign (là phần dấu) : - = Exponet (Phần mũ) = k + 127 = + 127 = 130 => 100000010 Significand (Phần trị) = 11010100000000000000000 Biểu diễn chấm động: 100000010 11010100000000000000000 Chuẩn số chấm động IEEE 754 + Biểu diễn chấm động: 100000010 11010100000000000000000 + Chuẩn IEEE 754: - 11010100000000000000000 x 2100000010 ~ - (1 + 2-1 + 2-2 + 2-4 + 2-6) x 23 = k = -14.625 10 | P a g e Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Biểu diễn bias số vơ hạn tuần hồn Cho x = 1/3 X = 0.333… = ¼ + 1/16 + 1/64 + 1/256 + … = 0101010101… x 20 = 1.01010101… x 2-2 (k = -2) Sign (lấy dấu) : Exponent (phần mũ): 127 – = 125 = 01111101 Significand (phần trị): 01010101010101010101010 Biểu diễn chấm động: 01111101 01010101010101010101010 Chú ý: Các số đặc biệt: + Phần mũ = && Phần trị = => số zero + Phần mũ = && Phần trị != => số dạng ko chuẩn + Phần mũ = (all) && Phần trị = => ∞ (infinity ) + Phần mũ = (all) && Phần trị != => số báo lỗi (NaN – Not a Number) Figure 5: Các quy tắt IEEE 754 11 | P a g e Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Figure 6: Quy tắt IEEE 754 12 | P a g e Họ Tên: Nguyễn Ngọc Dũng – HCMUS Lớp : 09CK1 - MSSV: 0961027 Đại số Bool Figure 7: Các phép toán Đại Số Bool 13 | P a g e ... diễn số chấm động Figure 4: Bảng số chuyển đổi nhị phân phần thập phân Cho x = -14.625 Bước 1: Chuyển đổi số 14 sang hệ nhị phân chuyển đổi 0.625 sang nhị phân * 14 = 1110 * 0.625 ( 0.625 = 0.5... THẬP PHÂN => NHỊ PHÂN Chuyển Đồi Sang Nhị Phân Số Dương – Số Âm Tự nghĩ số nguyên phạm vi -256 đến +256, thử đổi số sang hệ nhị phân (dùng 10 bit để biểu diễn) Nhập vào số nguyên: Biểu diễn nhị. .. 09CK1 - MSSV: 0961027 Sử dụng ngược lại cách đổi từ hệ số 10 => hệ số 2, cách trên: THẬP PHÂN => HEX 1/ Chuyển đổi 2540,34 (thập phân) sang hex + Chuyển đổi phần nguyên : 2540 2540 : 16 = 158 ,