Trong toan hoc, cac so am (bat ke thuoc he co so nao) đeu đuoc bieu dien bang cach thong thuong la đat truoc so duong tuong ung mot dau "−" (tru). Vi du: voi he thap phan, so nguyen am nam đuoc bieu dien la −5. Tuy nhien, trong may tinh, khi moi ky hieu, con so,... đeu đuoc bieu dien duoi he nhi phan thong qua hai chu so 0 va 1 thi moi chuyen lai tro nen phuc tap hon.
Co nhieu cach đuoc su dung đe bieu dien so am trong may tinh. Bai nay chi gioi thieu bon phuong phap chu yeu nhat, đo la: phuong phap dau luong (sign-and-magnitude), bu 1, bu 2 va so qua N (excess-N).
Cac may tinh hien nay hau het đeu su dung phuong phap bieu dien so bu 2. Tuy nhien, trong vai tinh huong, cac phuong phap khac van co the đuoc su dung.


Dau luong Phuong phap dau luong dung bit cuc trai lam bit dau (sign bit) – tuc đai dien cho dau cua so – theo quy uoc: neu bit dau la 1 thi so la so am (1 tuong đuong voi dau "-"), nguoc lai, neu no la 0 thi so la so duong (0 tuong đuong voi dau "+"). Cac bit con lai đuoc dung đe bieu dien đo lon cua so (hay gia tri tuyet đoi – absolute value – cua so).
Đe bieu dien mot so am ve dang nhi phan co dau voi mau K bit la lay so can bieu dien cong them 2K-1 sau đo bieu dien chung o he nhi phan
Theo phuong phap nay, mot byte 8 bit se co 7 bit (tru đi bit dau) đuoc dung đe bieu dien cho cac so co gia tri tu 0000000 (010) đen 1111111 (12710). Khi su dung bit dau, y nghia cua 7 bit tren se thay đoi, va ta co the bieu dien cac so tu −12710 đen +12710. Trong phuong phap dau luong, so 0 co the đuoc bieu dien o hai dang, đo la 00000000 (+0) va 10000000 (−0).
Vi du: gia su mau 8 bit, khi su dung phuong phap dau luong, so 510 đuoc bieu dien sang he nhi phan la: 0000 0101, con so −5 la 1000 0101.
So sanh voi cach bieu dien so am ma ta thuong su dung, ta thay phuong phap dau luong co nhieu điem tuong đong. Trong he thap phan, khi muon bieu dien so co dau, ta đat dau can bieu dien ngay truoc gia tri tuyet đoi cua so. Phuong phap dau luong cung đat dau ngay truoc gia tri tuyet đoi cua so, chi co khac o cho thay dau "+" bang "0" va "−" bang "1". Co le vi su tuong đong nay, mot vai may tinh the he đau tien (nhu IBM 7090) đa su dung phuong phap dau luong khi bieu dien so am.


Bu 1 Phuong phap bu 1 bieu dien so am theo cach sau:

Thu nhat, bit dau 0 neu so la so duong, va 1 neu so la so am.
Thu hai, su dung toan tu thao tac bit (bitwise) NOT đe đao tat ca cac bit cua so nhi phan duong (tinh bit dau) đe bieu dien so am tuong ung.
Nhu vay, phuong phap bu 1 hoan toan giong nhu phuong phap dau luong, duy chi khac o cach bieu dien đo lon cua so.
Vi du: dang bu 1 cua 00101011 (43) la 11010100(−43) (xem bai chinh ve bu 1 đe biet cach bieu dien so thap phan sang nhi phan bang phuong phap bu 1).
Giong phuong phap dau luong, mot byte 8 bit ap dung phuong phap bu 1 cung co the bieu dien cac so tu −12710 đen +12710 (chu y: đa mat đi mot bit dung lam bit dau). Bu 1 cung co hai dang bieu dien cho so 0, bao gom: 00000000 (+0) va 11111111 (−0) (mau 8 bit).
Khi thuc hien phep cong giua hai so bieu dien theo phuong phap bu 1, ta cung thuc hien theo quy tac cong nhi phan thong thuong, tuy nhien, sau khi đa thuc hien xong, neu con phat sinh bit nho thi phai tiep tuc cong bit nho nay vao ket qua vua thu đuoc. Ve van đe nay, xin xem them o bai chinh ve bu 1.
Phuong phap bieu dien so bu 1 đuoc su dung rong rai trong cac the he may tinh cu, đien hinh la cac dong may PDP-1 va UNIVAC 1100/2200.


Bu 2 Trong phuong phap bu 2, cac so am đuoc bieu dien giong nhu phuong phap bu 1, tuy nhien, phai cong them 1 vao ket qua (o he nhi phan).
Vi du: so −510 đuoc bieu dien sang he nhi phan (xet mau 8 bit) su dung phuong phap bu 1 la 11111010. Đe bieu dien theo phuong phap bu 2, ta cong them 1 vao so nhi phan o bu 1, tuc cong 1 cho 11111010: 11111010 + 1 = 11111011. Vay 11111011 la bieu dien bang bu 2 cua −510 trong may tinh.
Phuong phap bieu dien so bu 2 ra đoi khi nguoi ta gap van đe voi hai phuong phap dau luong va bu 1, đo la:

Co hai cach bieu dien cho so 0.
Bit nho phat sinh sau khi đa thuc hien phep tinh phai đuoc cong tiep vao ket qua.
Voi phuong phap bu 2, so 0 chi co mot cach bieu dien duy nhat la 00000000 (mau 8 bit). Viec đoi dau mot so – ke ca tu am sang duong hay tu duong sang am – đeu đuoc thuc hien theo cung mot cach, đo la: đao tat ca cac bit roi cong them mot vao ket qua. Viec thuc hien phep cong voi so bieu dien theo phuong phap bu 2 đuoc thuc hien hoan toan giong nhu cong hai so nhi phan binh thuong, tuy nhien, khi phat sinh bit nho o bit dau, ta co the bo no đi. Ve van đe nay, xin xem them o bai chinh ve bu 2.
Voi mau 8 bit, phuong phap bu 2 co the bieu dien tot cac so nguyen co gia tri tu −12810 đen +12710 (so voi tu −12710 đen +12710 theo phuong phap dau luong va bu 1) do đuoc loi tu viec tiet kiem đuoc mot cach bieu dien so 0 (khong phan biet giua −0 va +0).


So qua N Phuong phap bieu dien so qua N – con đuoc goi la bieu dien so dich (biased representation) – su dung mot so nguyen N cho truoc lam gia tri dich ("dich" hieu nom na theo nghia "su dich chuyen" hay "su thien lech"). Theo phuong phap nay, mot gia tri thap phan (tuc gia tri can bieu dien) se đuoc bieu dien bang dang nhi phan cua mot so duong nao đo sao cho, gia tri cua so duong nay lon hon gia tri can bieu dien N đon vi.
Vi du: gia su can bieu dien gia tri 210 theo so qua 5 (mau 8 bit):

Buoc 1: ta co:
Gia tri can bieu dien: 2.
N = 5.
Buoc 2: xac đinh so duong lon hon 210 nam đon vi, đo la so 7.
Vay 210 se đuoc bieu dien bang dang nhi phan cua 7: 00000111.
Theo vi du tren, ta se co bang sau:

Ta thay, 0 đuoc bieu dien bang nhi phan cua 5, va −5 đuoc bieu dien bang nhi phan cua 0. Tong quat, 0 đuoc bieu dien bang nhi phan cua N, con −N đuoc bieu dien bang mau co tat ca cac bit đeu la 0.
Phuong phap nay ngay nay con đuoc su dung rong rai đe bieu dien cac so cham đong (floating point number), tieu bieu la chuan so cham đong IEEE. Theo chuan nay, cac so cham đong co đo chinh xac đon (single-precision) 32 bit (nhu kieu float cua Java) co phan mu (chinh la so luong ky so cua phan nam sau dau cham thap phan) đuoc bieu dien bang so qua 127 voi mau 8 bit, va cac so cham đong co đo chinh xac đoi (double-precision) 64 bit (nhu kieu double cua Java) co phan mu bieu dien bang so qua 1023 voi mau 11 bit.


Xem them Bu 1
Bu 2
So qua 3


Tham khao