HỆTHỐNG SỐ NHỊPHÂN
Hệ thống số ta dùng hằng ngày là Thập Phân (Decimal). Thập là 10, có
nghĩa là ta dùng 10 dấu hiệu khác nhau để viết một con số. Khi đếm từ 0
đến 9 ta viết ra liên tục các dấu hiệu 0,1,2,3,4,5,6,7,8,9. Đến đây, nếu
tiếp tục đếm tiếp ta sẽ không còn dấu hiệu nào nữa. Do đó ta dùng lại số
0 và bắt đầu hàng chục như 10,11,12,13 v.v cho đến 19 rồi tăng hàng
chục lên nữa thành 20,21,22, .vv. Hãy xem con số 7354. Con số nầy biểu
diển ( 7*1000 + 3*100 + 5*10 + 4 ) đơn vị. Lưu ý hàng đơn vị, hàng
chục, hàng trăm và hàng ngàn. Ngàn có nghĩa là 10 lũy thừa 3, trăm có
nghĩa là 10 lũy thừa 2, chục có nghĩa là 10 lũy thừa 1 và đơn vị có nghĩa là
10 lũy thừa 0 (nhớ rằng 10 lũy thừa 0 thì bằng 1). Nói một cách khác nếu
ta đi dọc theo con số từ phải qua trái thì lũy thừa 10 (còn gọi là base 10
của thập phân) tăng lên từ từ.Trong hệthốngsốNhịPhân (Binary) ta chỉ
dùng có hai dấu hiệu 0 và 1 để viết ra một con số. Nếu ta đếm từ 0 đến 1
thì đã dùng hết các dấu hiệu rồi. Nếu muốn tiếp tục đếm ta phải dùng lại
dấu hiệu 0 và bắt đầu hàng hai, tức là con số hai trong hệthốngNhịPhân
được viết là 10. Như thế trong NhịPhân con số 1111 biểu diển ( 1*8 +
1*4 + 1*2 + 1 ) đơn vị, trong đó ta biết rằng 8 có nghĩa là 2 lũy thừa 3, 4
có nghĩa là 2 lũy thừa 2, 2 có nghĩa là 2 lũy thừa 1 và đơn vị có nghĩa là 2
lũy thừa 0.Ngược lại, để đổi một số Thập Phân ra NhịPhân ta tìm cách trừ
ra những multiple của 8,4,2, .v.v. Thí dụ bắt đầu từ số 75 Thập Phân, ta
trừ 64 (tức là 2 lũy thừa 6) ra sẽ còn lại 11, kế đó trừ 8, rồi trừ 2 như
trong bảng dưới đây:
75 - 64
= 11
11 - 8
= 3
3 - 2
= 1
Vậy 75 = 1*64 + 0*32 + 0*16 + 1*8 + 0*4 + 1*2 + 1Do đó
75 (Thập Phân) = 1 0 0 1 0 1 1 (Nhị Phân)
Cách cộng hai con sốNhịPhân cũng tương tợ như trong hệthống Thập
Phân, tức là ta dùng cách đếm. Trong thực tế ta có thể đổi hai con sốNhị
Phân ra Thập Phân, cộng hai con số ấy trong hệthống Thập Phân rồi đổi
kết quả ra NhịPhân trở lại.Thí dụ:
Nhị Phân
Thập Phân
1 1 1 0 14
+
1 1 0 1 13
27 = 1 1 0 1 1
Ghi chú: 27 = 16 + 8 + 2 + 1 = 1*16 + 1*8 + 0*4 + 1*2 + 1
Muốn làm toán trừ thì ta đếm ngược thay vì đếm xuôi.Một Byte thì có 8
bits. Mỗi Byte có thể có giá trị từ 0 đến 255. Con số 255 Thập Phân thì
bằng 11111111 Nhịphân . Vì sốNhịPhân rất dài và khó nhận diện nên
người ta thường gom từng nhóm 4 bits thành một số trong hệthống Thập
Lục Phân (Hexadecimal). Đó là vì 2 lũy thừa 4 thì bằng 16. Trong hệthống
Thập Lục Phân ta dùng 16 dấu hiệu khác nhau:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Con sốNhịPhân 11111111 thì bằng FF
trong Thập Lục Phân. muốn đổi một số Thập Phân ra NhịPhân ta có thể
đổi nó ra Thập Lục Phân trước rồi biến mỗi con số Thập Lục Phân ra 4
bits.Thí dụ: 237 Thập Phân (237= 14*16 + 13) đổi ra ED Thập Lục Phân,
rồi E (nhớ là E = 14 Thập Phân) ra 1110 và D (nhớ là D = 13 Thập Phân)
ra 1101.Để phân biệt các bits trong một Byte, ta gọi Least Significant Bit
(LSB) là Bit0 và Most Significant Bit (MSB) là Bit7.Ta nói trong con số Hex
FF tất cả các bits đều bằng 1 hay đều set.Thí dụ:
Số Thập Lục Phân B7=
1 0 1 1 0 1 1 1
Bit 7 6 5 4 3 2 1 0
Giá trị của bit 128 64 32 16 8 4 2 1
Bạn nên học thuộc bảng giá trị của các bits trên đây. Ngoài ra hãy nhớ
Bit8=256, số lớn nhất của Byte là 255.Bit10 = 1024 (cở một Kílô).Một số
Nhị phân mà Bit0=0 thì chắc chắn là một số chẳn.Số NhịPhân thường
được dùng trong các bài toán Luận Lý (Logical), số 1 được dùng biểu diễn
giá trị True, số 0 cho False. Các Logical Operation thông dụng là:
OR
Khi một trong hai Bit là 1 thì kết
quả là 1
1 0 1 0 OR 0 1 1 0 = 1
1 1 0
AND
Chỉ khi cả hai Bit đều là 1 thì kết
quả là 1
1 0 1 0 AND 0 1 1 0 =
0 0 1 0
XOR (Exclusive
OR)
Khi hai Bit có giá trị đối nhau thì
kết quả là 1
1 0 1 0 XOR 0 1 1 0 =
1 1 0 0
Con sốNhịPhân thứ nhì trong một Logical AND operation còn được gọi là
MASK (mặt nạ) , ý nói chỉ bit nào của sốNhịPhân thứ nhì là 1 thì xuyên
qua nó ta mới thấy cái bit (nằm cùng một vị trí) của sốNhịPhân thứ nhất
. Thí dụ nếu MASK là 11000000 thì ta chỉ có thể thấy được Bit7 và Bit6 của
số NhịPhân thứ nhất, kết quả của Logical AND operation chắc chắn sẽ cho
các bits 0 đến 5 đều bằng 0.Một thí dụ MASKing là đổi một character từ
lowercase ra uppercase. Ta biết Ascii value của "a" là Hex 61, còn Ascii
value của "A" là Hex 41. Nếu ta apply lên character "a" cái MASK Hex 41,
tức là 61 AND 41 = 41 (hay 01100001 AND 01000001 = 01000001 ). ,
nói một cách khác ta reset hay clear bit5 của "a", thì kết quả sẽ là
"A".Trong TCP/IP network configuration ta apply Subnet Mask lên IP
address để nhận diện NetworkID.
Thí dụ: IP Address: 192.16.24.69 , Subnet Mask: 255.255.255.0 (hay
FF.FF.FF.0). Do đó NetworkID= 192.16.24.0
. hai con số Nhị
Phân ra Thập Phân, cộng hai con số ấy trong hệ thống Thập Phân rồi đổi
kết quả ra Nhị Phân trở lại.Thí dụ:
Nhị Phân
Thập Phân
. HỆ THỐNG SỐ NHỊ PHÂN
Hệ thống số ta dùng hằng ngày là Thập Phân (Decimal). Thập là 10, có
nghĩa là ta dùng 10 dấu hiệu khác nhau để viết một con số.