You are on page 1of 2

Chuyển đổi số có dấu sang nhị phân

1. Phương pháp dấu lượng


Dùng bit cực trái (bít ngoài cùng bên trái) làm bit dấu theo quy ước:
- Nếu bit dấu là 1 thì số là số âm
- Nếu bit dấu là 0 thì số là số dương (0 tương đương với dấu "+")
- Các bit còn lại được dùng để biểu diễn độ lớn của số (hay giá trị tuyệt đối của số).
Như vậy, một byte 8 bit sẽ có 7 bit (trừ đi bit dấu) được dùng để biểu diễn cho các số có giá trị từ
0000000 (010) đến 1111111 (12710). Khi sử dụng bit dấu, ý nghĩa của 7 bit trên sẽ thay đổi, và ta có
thể biểu diễn các số từ −12710 đến +12710. Trong phương pháp dấu lượng, số 0 có thể được biểu
diễn ở hai dạng, đó là 00000000 (+0) và 10000000 (−0).
Ví dụ: giả sử mẫu 8 bit, khi sử dụng phương pháp dấu lượng, số 510 được biểu diễn sang hệ nhị
phân là: 0000 0101, còn số −5 là 1000 0101.
Một vài máy tính thế hệ đầu tiên (như IBM 7090) đã sử dụng phương pháp dấu lượng khi biểu diễn
số âm.
2. Phương pháp bù 1
Biểu diễn số âm theo cách sau:

 Thứ nhất, bit dấu 0 nếu số là số dương, và 1 nếu số là số âm.


 Thứ hai, sử dụng toán tử thao tác bit NOT để đảo tất cả các bit của số nhị phân dương (tính bit
dấu) để biểu diễn số âm tương ứng.
Như vậy, phương pháp bù 1 hoàn toàn giống như phương pháp dấu lượng, chỉ khác ở cách biểu
diễn độ lớn của số.
Ví dụ: dạng bù 1 của 00101011 (43) là 11010100(−43)
Giống phương pháp dấu lượng, một byte 8 bit áp dụng phương pháp bù 1 cũng có thể biểu diễn các
số từ −12710 đến +12710 (chú ý: đã mất đi một bit dùng làm bit dấu). Bù 1 cũng có hai dạng biểu diễn
cho số 0, bao gồm: 00000000 (+0) và 11111111 (−0) (mẫu 8 bit).
Khi thực hiện phép cộng giữa hai số biểu diễn theo phương pháp bù 1, ta cũng thực hiện theo quy
tắc cộng nhị phân thông thường, tuy nhiên, sau khi đã thực hiện xong, nếu còn phát sinh bit nhớ thì
phải tiếp tục cộng bit nhớ này vào kết quả vừa thu được.
Phương pháp biểu diễn số bù 1 được sử dụng rộng rãi trong các thế hệ máy tính cũ, điển hình là
các dòng máy PDP-1 và UNIVAC 1100/2200.
3. Phương pháp bù 2
Các số âm được biểu diễn giống như phương pháp bù 1, tuy nhiên, phải cộng thêm 1 vào kết quả
(ở hệ nhị phân).
Ví dụ: số −510 được biểu diễn sang hệ nhị phân (xét mẫu 8 bit) sử dụng phương pháp bù 1 là
11111010. Để biểu diễn theo phương pháp bù 2, ta cộng thêm 1 vào số nhị phân ở bù 1, tức cộng 1
cho 11111010: 11111010 + 1 = 11111011. Vậy 11111011 là biểu diễn bằng bù 2 của −510 trong máy
tính.
Phương pháp biểu diễn số bù 2 ra đời khi người ta gặp vấn đề với hai phương pháp dấu lượng và
bù 1, đó là:

 Có hai cách biểu diễn cho số 0.


 Bit nhớ phát sinh sau khi đã thực hiện phép tính phải được cộng tiếp vào kết quả.
Với phương pháp bù 2, số 0 chỉ có một cách biểu diễn duy nhất là 00000000 (mẫu 8 bit). Việc đổi
dấu một số (kể cả từ âm sang dương hay từ dương sang âm) đều được thực hiện theo cùng một
cách, đó là: đảo tất cả các bit rồi cộng thêm 1 vào kết quả. Việc thực hiện phép cộng với số biểu
diễn theo phương pháp bù 2 được thực hiện hoàn toàn giống như cộng hai số nhị phân bình
thường, tuy nhiên, khi phát sinh bit nhớ ở bit dấu, ta có thể bỏ nó đi.
Với mẫu 8 bit, phương pháp bù 2 có thể biểu diễn tốt các số nguyên có giá trị từ −12810 đến
+12710 (so với từ −12710 đến +12710 theo phương pháp dấu lượng và bù 1) do được lợi từ việc tiết
kiệm được một cách biểu diễn số 0 (không phân biệt giữa −0 và +0).

You might also like