1. Họ và 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 ......................................................................................................... 2
Chuyển Đồi Sang Nhị Phân Số Dương – Số Âm ........................................................................... 2
THẬP PHÂN => HEX ................................................................................................................... 4
HEX => THẬP PHÂN ................................................................................................................... 4
Các phép toán + - AND – OR – XOR - NOT ................................................................................. 5
Phép cộng: ................................................................................................................................... 5
Phép trừ: ...................................................................................................................................... 5
Phép nhân: ................................................................................................................................... 6
Phép chia: .................................................................................................................................... 6
Tính toán luận lý AND – OR – XOR – NOT ............................................................................. 7
AND (a&b) ............................................................................................................................. 7
OR (a|b) .................................................................................................................................. 7
XOR (a^b) ............................................................................................................................... 7
NOT (~a) ................................................................................................................................. 8
Phép Dịch và phép Quay................................................................................................................. 8
1/ Phép dịch logic (luận lý) ......................................................................................................... 8
2/ Phép dịch số học ..................................................................................................................... 9
3/ Phép quay trái – phải .............................................................................................................. 9
Số chấm động ................................................................................................................................ 10
Đại số Bool ................................................................................................................................... 13
Figure 1 : Dịch phải Logic (luận lý) ............................................................................................... 8
Figure 2: Dịch trái logic (luận lý) ................................................................................................... 8
Figure 3: Dịch phải số học .............................................................................................................. 9
Figure 4: Bảng số chuyển đổi nhị phân của phần thập phân ........................................................ 10
Figure 5: Các quy tắt của IEEE 754.............................................................................................. 12
Figure 6: Quy tắt IEEE 754 .......................................................................................................... 13
Figure 7: Các phép toán trên Đại Số Bool .................................................................................... 14
1|Page
2. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Tràn số
+ Tràn số đối với số ko dấu: nhớ ra 1 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 bao giờ tràn số
THẬP PHÂN => NHỊ PHÂN
Chuyển Đồi Sang Nhị Phân Số Dương – Số Âm
1. Tự nghĩ ra 5 số nguyên trong 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: 6
Biểu diễn nhị phân tương ứng: 00 0000 0110
Nhập vào số nguyên: 7
Biểu diễn nhị phân tương ứng: 00 0000 0111
Nhập vào số nguyên: 8
Biểu diễn nhị phân tương ứng: 00 0000 1000
Cách 1:
Biểu diễn ở 8 bit, ta se có như sau: Ta sẽ kiểm tra số 6: 6 = 4 + 2. Ta nhận thấy 4 và 2 có
gia trị trong bảng => ta sẽ check số 1 vào, còn những ô còn lại là 0. Các số khác tương tự.
8 7 6 5 4 3 2 1
128 64 32 16 8 4 2 1
0 0 0 0 0 1 1 0
Cách 2: Ta lấy số hệ cơ số 10 chia 2 lấy dư. Số chia hết cho 2 sẽ là 0, số ko chia hết cho 2 sẽ
là 1.
Cách trên đây 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
3. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Để biểu diễn 1 số âm, ta làm như sau:
Bước 1: Đầu tiên ta lấy số đối của nó:
Ví dụ : 6 số đối sẽ là -6
Quy đổi sang hệ nhị phân số đối (6), ta se được như sau: 0 0 0 0 0 1 1 0
Bước 2:Lấy bù 1 của dãy nhị phân của số 6:
Ban đầu: 0 0 0 0 0 1 1 0
Bù 1 : 1 1 1 1 1 0 0 1
Note: thấy 0 chuyển sang 1 và 1 sang 0.
Bước 3: Sau khi có bù 1, ta tiến hành kiếm bù 2:
Ta sẽ công thêm 1 vào dãy bù :
11111001
1
_________________
11 1111 1010 => bù 2
Dãy bù 2 vừa mới có chính là biễu diễn nhị phân của -6
Bước 4: Kiểm tra, ta dùng cách sau:
8 7 6 5 4 3 2 1 Kết quả
1 1 1 1 1 0 1 0
-27 + 26 + 25 + 24+ 23+ 22+ 21+ 20 = -6
1. Tự nghĩ ra 5 số nhị phân (dùng 10 bit để biểu diễn), thử đổi các 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: 9
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
4. Họ và 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ệ cơ số 10 => hệ cơ 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 = 9 , dư 14 => E
9 : 16 = 0 , dư 9 => 9
KQ tạm thời: CE9 (1)
Sau khi 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 => 5
5.44 – 5 = 0.44 => 0.44 * 16 = 7.04 lấy 7 => 7
7.04 – 7 = 0.04 => 0.04 * 16 = 0.64 lấy 0 => 0
0.64 – 0 = 0.64 => 0.64 * 16 = 10.24 lấy 10 => A
10.24 – 10 = 0.24 => 0.24 * 16 = 3.84 lấy 3 => 3
…
Sau khi convert phần thập phân xong, để lấy kết quả, ta ko đảo chuỗi.
KQ2: 0.570A3…
KQ cuối cùng : 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
= 2540 , 33999919891357421875
4|Page
7. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Vậy 1001011 (75) / 1110 (14) = 5 dư 5
Tính toán luận lý AND – OR – XOR – NOT
AND (a&b)
+ Bit nào cần giữ thì AND với 1, ko giữ AND với 0
Vd:
11010110
AND
00110101
_______________
00010100
OR (a|b)
+ Bit nào cần bật lên thì OR với 1, bit nào ko quan tâm thì OR với 0
Vd:
11010110
OR
00110100
_______________
11110110
XOR (a^b)
11010110
XOR
00110100
_______________
11100010
7|Page
8. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
NOT (~a)
NOT 11010110
_______________
00101001
Phép Dịch và phép Quay
1/ Phép dịch logic (luận lý)
a/ Dịch phải logic (luận lý) | chia
Figure 1 : Dịch phải Logic (luận lý)
+ Thêm 0 từ trái sang phải theo số bit yêu cầu
Ban đầu: 01010101 (85)
Dịch logic phải 2 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
9. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
+ Thêm 0 từ phải sang trái theo số bit yêu cầu
Ban đầu: 01010101
Dịch logic trái 1 bit: 10101010 Tính nhanh: 85*21 = 170 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 1 hoặc 0 (dựa vào số đầu tiên) từ trái sang phải theo số bit yêu cầu
Ban đầu: 10101011 (-85)
Dịch logic phải 2 bit: 11101010
Ban đầu: 00010111
Dịch logic phải 1 bit: 00001011
b/ Dịch trái số học | nhân
+ Thêm 0 từ phải sang trái theo số bit yêu cầu
Ban đầu: 10101011 (-85)
Dịch logic trái 2 bit: 1010110 0
Ban đầu: 00010111
Dịch logic trái 1 bit: 00101110
3/ Phép quay trái – phải
a/ Quay phải.
Ban đầu: 10100110
Quay phải 3 bit: 11010100
b/ Quay trái.
9|Page
10. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Ban đầu: 10100110
Quay trái 3 bit: 00110101
Số chấm động
6. Biểu diễn số chấm động
Figure 4: Bảng số chuyển đổi nhị phân của phần thập phân
Cho x = -14.625
Bước 1: Chuyển đổi số 14 sang hệ nhị phân và chuyển đổi 0.625 sang nhị phân
* 14 = 1110
* 0.625 ( 0.625 = 0.5 + 0 + 0125 = 101)
+ 0.625 x 2 = 1.25 => 1
+ 1.25 – 1 = 0.25 => 0.25 x 2 = 0.5 => 0
+1 – 0.5 = 0.5 => 0.5 x 2 = 1 => 1
+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) : - = 1
Exponet (Phần mũ) = k + 127 = 3 + 127 = 130 => 100000010
Significand (Phần trị) = 11010100000000000000000
10 | P a g e
11. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Biểu diễn chấm động: 1 100000010 11010100000000000000000
Chuẩn số chấm động IEEE 754
+ Biểu diễn chấm động: 1 100000010 11010100000000000000000
+ Chuẩn IEEE 754:
- 1. 11010100000000000000000 x 2100000010 ~ - (1 + 2-1 + 2-2 + 2-4 + 2-6) x 23 = k = -14.625
Biểu diễn bias của số vô hạn tuần hoà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) : 0
Exponent (phần mũ): 127 – 2 = 125 = 01111101
Significand (phần trị): 01010101010101010101010
Biểu diễn chấm động: 0 01111101 01010101010101010101010
Chú ý:
Các số đặc biệt:
+ Phần mũ = 0 && Phần trị = 0 => số zero
+ Phần mũ = 0 && Phần trị != 0 => số dạng ko chuẩn
+ Phần mũ = 1 (all) && Phần trị = 0 => ∞ (infinity )
+ Phần mũ = 1 (all) && Phần trị != 0 => số báo lỗi (NaN – Not a Number)
11 | P a g e
12. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Figure 5: Các quy tắt của IEEE 754
12 | P a g e
13. Họ và Tên: Nguyễn Ngọc Dũng – HCMUS
Lớp : 09CK1 - MSSV: 0961027
Figure 6: Quy tắt IEEE 754
13 | P a g e
14. Họ và 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 trên Đại Số Bool
14 | P a g e