BIỂU DIỄN DỮ
BIỂU DIỄN DỮ
LIỆU
LIỆU
@IT
@IT
@IT
@IT
SỐ BÙ
Số bù giúp đơn giản giản phép trừ và luận lý.
Có 2 loại số bù trong hệ cơ số: bù r, bù (r– 1).
Ví dụ: Bù 2, bù 1 trong hệ cơ số 2
Bù 10, bù 9 trong hệ cơ số 10
Số bù r -1:
Đặt N là số có n ký số trong hệ r thì bù r của N là (rn -1) –N
Ta có: bù 9 của thập phân N là (10n – 1), 10n là số 1 theo sau là n số 0.
@IT
@IT
@IT
@IT
SỐ BÙ (tt)
Ví dụ:
103 = 1000, vậy 10n -1 là số gốm n số 9
103- 1 =999.
Vậy bù 9 của N nhận được bằng cách trừ 9 cho từng ký số của N.
Ví dụ: bù 9 của 546700 là
999999 – 546700 = 453299
Bù 9 của 12389 là
99999 – 12389 = 87610
@IT
@IT
@IT
@IT
SỐ BÙ (tt)
Với r = 2:
Bù 1 của số nhị phân N là (2n -1) – N
Với 2n là số 1 theo sau n số 0.
Ví dụ: 24 = 10000
2
2n -1 là số nhị phân gồm n số 1
Ví dụ: 24 -1 = 1111
2.
Vậy bù 1 của số nhị phân nhận được bằng cách trừ 1 cho mỗi ký số.
Khi trừ, kết quả là 0/1 nếu ký số là 1/0.
@IT
@IT
@IT
@IT
SỐ BÙ (tt)
Số bù r:
Bù r số N gồm n ký số là rn – N khi N ≠ 0, và là 0 khi N = 0.
Nhận xét: bù r = bù (r-1) + 1
và bù r của N là rn – N.
Vậy bù r của r là rn –(rn – N) = N
Ví dụ: bù 10 của 2389
10
là 7610 + 1 = 7611
Bù 2 của 101100
2
là 010011 + 1 = 010100
@IT
@IT
@IT
@IT
SỐ BÙ (tt)
Có thể tính bù 10 theo quy tắc sau
:
- Giữ nguyên các ký số 0 bên phải cho đến khi gặp các ký số khác 0.
- Lấy 10 trừ cho các ký số đầu tiên khác 0 đó.
- Lấy 9 trừ cho các số còn lại.
Ví dụ: bù 10 của 246700 là 753300
Tương tự có thể tính bù 2 theo quy tắc
:
- Giữ nguyên các ký số 0 bên phải cho đến ký số 1 đầu tiên.
- Phần còn lại đổi 0 thành 1 và ngược lại.
Ví dụ: bù 2 của 1101100 là 0010100
@IT
@IT
@IT
@IT
SỐ BÙ (tt)
Các định nghĩa trên cho số không có phần phân (
không có dấu chấm
cơ
).
Nếu có, chuyển sang dạng không có dấu chấm để lấy bù, sau đó phục
hồi lại (
dấu chấm
).
Khi cộng các số không dấu, nếu không có nhớ, kết quả nhận được chính
là kết quả cuối cùng, nếu có nhớ thì kết quả nhận được là sai (
thường
gọi là tràn
)
@IT
@IT
@IT
@IT
PHÉP TRỪ SỐ KHÔNG DẤU (tt)
Trừ trực tiếp bằng cách mượn 1 ở vị trí có nghĩa cao hơn sẽ không thuận
tiện khi cài đặt phần cứng, do đó ta sẽ dùng số bù.
Phép trừ hai số M và N không dấu gồm n ký số M – N (N≠ 0) trong cơ số
r như sau:
- Cộng số bị trừ M với số bù r của số trừ N:
M + (rn – N) = M – N + rn
@IT
@IT
@IT
@IT
PHÉP TRỪ SỐ KHÔNG DẤU (tt)
-
Nếu M ≥ N, tổng tạo ra số nhớ rn, bỏ số nhớ này đi, kết quả còn lại là M
– N.
- Nếu M < N, tổng không có nhớ và bằng
rn – (N – M), chính là bù r của N – M.
Để có kết quả lấy bù r của tổng và thêm dấu trừ ở trước.
@IT
@IT
@IT
@IT
PHÉP TRỪ SỐ KHÔNG DẤU (tt)
* Ví dụ: Xét 72532 – 13250 = 59282
Như vậy bù 10 của 13250 là 86750
* Ví dụ: Xét 13250 – 72532 = -59282
Như vậy bù 10 của 72532 là 27468
Lấy bù 10 của 40718 và thêm dấu trừ ta được kết quả: -59282
@IT
@IT
@IT
@IT
PHÉP TRỪ SỐ KHÔNG DẤU (tt)
Tương tự đối với nhị phân.
Ví dụ: Cho X = 1010100; Y = 1000011
Tính X – Y:
Tính Y - X
@IT
@IT
@IT
@IT
SỐ NGUYÊN.
Số nguyên có thể biểu diễn dưới dạng dấu lượng, bù 1, bù 2 hoặc quá
n.
Dấu lượng, bù 1, bù 2.
Số nguyên dương dấu lượng, bù 1 hoặc bù 2 được biểu diễn dưới
dạng một tràng bit.
Bit cực trái là 0 (gọi là bit dấu hoặc MSB –
Most Significant Bit
) 0 và
phần còn lại là số nhị phân không dấu.
@IT
@IT
@IT
@IT
Khi số âm, biểu diễn theo một trong ba dạng: dấu lượng, như số dương
ngưng dấu là 1; Bù 1, lấy bù 1 của số dương; Bù 2, lấy bù 2 của số
dương.
Ví dụ:
+14 biểu diễn trong thanh ghi 8 bit theo cả 3 dạng là 00001110
-14 biểu diễn theo dạng: dấu lượng là 10001110; bù 1 là: 11110001; bù
2 là: 11110010
Dạng dấu lượng khó dùng nên thường dùng dạng bù.
Bù 1 ít được dùng trong số học vì có 2 cách biểu diễn số 0 (+0 và -0)
@IT
@IT
@IT
@IT
Số quá n:
Số quá n (excess-n) cũng là một tràng bit, có giá trị bằng với trị nhị
phân không dấu của tràng bit biểu diễn trừ bớt n.
Ví dụ: Số quá 3 (4bit) có trị từ -3 đến +12 được biểu diễn lần lượt là:
0000(-3), 0001(-2), 0010(-1), 0011(0), 0100(1), 0101(2), 0110(3),
0111(4), 1000(5), 1001(6), 1010(7), 1011(8), 1100(9), 1101(10),
1110(11), 1111(12)
@IT
@IT
@IT
@IT
Phép cộng số nguyên bù 2
Để cộng số bù 2 chỉ cần cộng 2 số (kể cả dấu), bỏ bit nhớ (nếu có),
phần còn lại là kết quả (nếu không tràn).
Ví dụ:
+6 00000110 -6 11111010
+1300001101 +13 00001101
+1900010011 +7 00000111
@IT
@IT
@IT
@IT
Phép trừ số nguyên bù 2:
Với phép trừ có dấu và số theo dạng bù 2: cộng số bị trừ với bù 2 số trừ.
Bỏ bít nhớ (nếu có và không tràn).
Ví dụ:
(-6) (-6) 11111010
-(-13) +(+13) 00001101
+7 100000111
Kết quả là 00000111
@IT
@IT
@IT
@IT
TRÀN
Khi cộng hai số bù 2, không thể tràn khi 2 số khác dấu, có thể tràn khi 2
số cùng dấu.
Ví dụ cộng 2 số 8bit bù 2 có trị 70, 80 hoặc
-70, -80 sẽ tràn (-128 -> 127)
Ví dụ:
Nhớ 0 1 Nhớ 1 0
+70 01000110 -70 01000110
+80 01010000 +80 01010000
+150 10010110 -150 01101010
@IT
@IT
@IT
@IT
Cộng 2 số dương, kết quả âm -> tràn
Cộng 2 số âm, kết quả dương -> tràn
Có thể phát tràn bằng cách xét 2bit nhớ vào và ra tại bit dau.
Khi 2bit này khác nhau -> tràn.
Có thể cho 2bit này vào cổng XOR, nếu ngõ ra là 1 ->tràn
@IT
@IT
@IT
@IT
SỐ BCD
(Binary Coded Decimal)
Hệ nhị phân thích hợp cho các hệ thống nhưng con người lại quen với
hệ 10.
Do đó khi xuất nhập dữ liệu thường là nhập xuất theo dạng thập phân.
Nếu việc nhập xuất số thập phân không nhiều thì có thể chuyển số hệ
10 khi nhập sang hệ 2, tính toán xong (theo hệ 2), chuyển ngược lại
sang hệ 10 trước khi xuất ra ngoài.
Nếu như việc nhập xuất nhiều, mất thời gian ta có thể dùng số BCD
@IT
@IT
@IT
@IT
Số thập phân (10) nhập vào máy sẽ được mã hóa theo dạng BCD bằng
cách chuyển mỗi ký số hệ 10 thành 4bit.
Sau đó tính toán trực tiếp trên mã BCD, tính toán xong chuyển ra ngoài
theo dạng thập phân.
@IT
@IT
@IT
@IT
Biểu diễn số dạng BCD sẽ tốn kém hơn biểu diễn dạng nhị phân vì
mỗi ký số BCD cần tới 4 mạch lật.
Ví dụ: Số 4385 có dạng BCD là:
0100 0011 1000 0101
Mạch tính toán thập phân cũng phức tạp hơn nhưng thuận lợi là việc
nhập xuất đều là thập phân.
@IT
@IT
@IT
@IT
Khi cộng số BCD, nếu các ký số vượt quá trị cho phép (trong khoảng từ
0000 đến 1001) hoặc có nhớ khi cộng thì phải sửa sai bằng cách cộng
thêm 0110 vào ký số bị sai.
Ví dụ:
27 0010 0111
+36 0011 0110
63 0101 1101 Kết quả sai
0000 0110 Sửa sai
0110 0011 Kết quả =63
@IT
@IT
@IT
@IT
Khi trừ số BCD, nếu có mượn khi trừ thì phải sửa sai bằng cách trừ bớt
0110 vào ký số bị sai.
Ví dụ:
61 0110 0001
-38 0011 1000
23 0010 1001 Kết quả sai
0000 0110 Sửa sai
0010 0011 Kết quả =23
@IT
@IT
@IT
@IT
SỐ CHẤM ĐỘNG
Để biểu diễn các số rất lớn hoặc rất bé, người ta dùng cách biểu diễn số
khác gọi là chấm động (
floating point number
).
Biểu diễn số chấm động gồm 4phần:
- Dấu (
biểu diễn số dương hoặc âm
)
- Định trị (
mantissa
)
- Phần mũ (
exponent
)
- Cơ số
Ví dụ: Số thập phân 12345.67(0.1234567x105)
Biểu diễn theo dạng chấm động là: +, định trị là 0.1234567, mũ là 5 và
cơ
số là 10
@IT
@IT
@IT
@IT
Trong trường hợp tổng quát, chỉ cần một bit để biểu diễn dấu S (thường
là 0 biểu diễn số dương, 1 biểu diễn số âm)
Nếu M là định trị, E là phần mũ và R là cơ số thì trị của số chấm động là
(-1)S xMxRE
Trong 4phần chỉ lưu dấu, định trị và mũ.
Cơ số được lấy mặc nhiên nên không lưu.