CHƯƠNG 2
BIỂU DIỄN THÔNG TIN TRONG MÁY TÍNH
NỘI DUNG
I.
II.
III.
IV.
V.
VI.
VII.
2 / 50
KTMM
Khái niệm thông tin
Lượng thông tin và sự mã hóa thông tin
Hệ thống số
Các phép tính số học cho hệ nhị phân
Cách biểu diễn số thực
Biểu diễn số BCD
Biểu diễn các ký tự
Thông tin là gì?
3 / 50
KTMM
"Thông tin là cái đa dạng được phản ánh"
• Thông tin có nhiều dạng: văn bản, h́ình ảnh, âm thanh,
mùi vị, nhiệt độ,…
• Thông tin thường được lưu trên: giấy, phim, băng, đĩa từ,
thẻ nhớ,..
4 / 50
KTMM
1. Khái niệm thông tin
Khái niệm về
thông tin gắn liền
với sự hiểu biết
một trạng thái
cho sẵn trong
nhiều trạng thái
có thể có vào một
thời điểm cho
trước.
5 / 50
KTMM
Thông tin về 2 trạng thái có ý nghĩa của hiệu điện thế
2.Lượng thông tin và sự mã hóa thông tin
Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà
ta gọi là bit
I = Log2(N)
I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có
Lượng thông tin có được là bao nhiêu khi biết được
một trong 8 trạng thái?
TL : Log 2(8)= 3 bit
6 / 50
KTMM
2.Lượng thông tin
Lượng thông tin và sự mã hoá thông tin
Thông tin được đo lường bằng đơn vị thông tin mà
ta gọi là bit
I = Log2(N)
I: là lượng thông tin tính bằng bit
N: là số trạng thái có thể có
Lượng thông tin có được là bao nhiêu khi biết được
một trong 8 trạng thái?
7 / 50
KTMM
3. Hệ thống số
Khái niệm hệ thống số:
Cơ sở của một hệ thống số định nghĩa phạm vi các giá trị
của một chữ số
Dạng biểu diễn tổng quát giá trị của một số
Vk =
Vk: số cần biểu diễn giá trị
n −1
∑b k
i =−m
i
i
m: Stt của chữ số phần lẻ (từ -1 đến -m)
n-1: Stt của chữ số phần nguyên(từ 0- n-1)
bi: giá trị của chữ số thứ I
k: hệ đếm
Biểu diễn số 143.7510 , 101.012 , 1AF.316
8 / 50
KTMM
Biểu diễn số
n−
1
Vk =
bi k i
∑
i=
−
m
9 / 50
KTMM
Cách 2 (tính nhẩm nhanh, chuyển từ hệ 2 sang hệ 10)
Chú ý: cơ số bây giờ là 2, nên các chữ số bi chỉ có thể
là 0 hoặc 1. Do vậy chỉ cần nhớ giá trị ki tương ứng
(tạm gọi là trọng số).
VD: để tính 101101(2) = ?(10), trước hết ta bỏ qua các giá trị bằng 0
là a1, a4. Sau đó chỉ việc cộng trọng số tại các vị trí mà ai khác 0. Cụ
thể ở đây ta có a0, a2, a3, a5 các giá trị bằng 1, do vậy ta có
1+4+8+32 = 45, nghĩa là 101101(2) = 45(10).
10 / 50
KTMM
Chuyển đổi giữa các hệ Hexadecimal, Decimal,
Octal, Binary
11 / 50
KTMM
Chuyển đổi giữa các hệ đếm
Phương pháp biến đổi một số thập phân sang số nhị
phân: 2 phương thức:
-Phương thức số dư để biến đổi phần nguyên của số
thập phân sang nhị phân: lấy phần nguyên cần chuyển
đổi chia cho 2 (kết quả chỉ lấy phần nguyên), sau đó
tiếp tục lấy kết quả chia 2 (và cũng chỉ lấy phần
nguyên), kết quả số nhị phân thu được là tập hợp các
số dư của các phép chia.
-Phương thức nhân để biến đổi phần lẻ của số thập
phân sang nhị phân: phần lẻ được nhân với 2. Phần
nguyên của kết quả sẽ là bit nhị phân, phần lẻ của kết
quả lại tiếp tục nhân 2 cho đến khi phần lẻ của kết quả
bằng 0.
12 / 50
KTMM
Chuyển đổi giữa các hệ đếm
Phương pháp biến đổi một số thập phân sang
số nhị phân:
13 / 50
KTMM
Chuyển đổi giữa các hệ đếm
Phương pháp biến đổi một số thập phân sang số nhị
phân:
23.37510=????2
23.37510=10111.0112
23.2210=????2
1011 1001.101(2)=
14 / 50
KTMM
Chuyển đổi giữa các hệ đếm
Phương pháp biến đổi một số thập phân sang số thập lục phân (10
sang 16):
B1: Lấy giá trị cần đổi chia cho 16. Ghi nhớ phần dư, lấy kết quả lặp
lại phép chia cho đến khi giá trị cần chia nhỏ hơn 16.
B2: Lấy các kết quả dư đã ghi nhớ từ dưới lên được kết quả cuối
cùng. Xem hình dưới
15 / 50
KTMM
Chuyển đổi giữa các hệ đếm
Phương pháp biến đổi từ hệ 16 sang hệ 2
Cứ chuyển lần lượt từng chữ số từ hệ 16 sang hệ 2 theo
bảng tương ứng sau:
16 / 50
KTMM
Chuyển đổi giữa các hệ đếm
Tương tự như khi chuyển từ hệ 16 sang hệ 2 nhưng làm
ngược lại: theo thứ tự từ phải sang trái lần lượt nhóm
từ 4 chữ số ở hệ 2 và chuyển sang hệ 16. Nhóm cuối
cùng nếu không đủ 4 chữ số thì có thể thêm các chữ số
0 vào bên trái. Ví dụ: 10100100101101(2) = ?(16). Ta sẽ
được 4 nhóm: 0010, 1001, 0010, 1101.
17 / 50
KTMM
4. Các phép tính số học cho hệ nhị
phân
Phép cộng
Phép trừ
Phép nhân
Phép chia
18 / 50
KTMM
Cộng trừ 2 số nhị phân
19 / 50
KTMM
Nhân chia 2 số nhị phân
20 / 50
KTMM
Biểu diễn số nguyên có dấu
Cách biểu diễn:
PP1: Dùng dấu và trị tuyệt đối (Sign-Magnitude)
PP2: Dùng mã bù 1 (One’s complement)
PP3: Dùng mã bù 2 (Two’s complement)
21 / 50
KTMM
Số nguyên có dấu
Dùng dấu và độ lớn
Bit lớn nhất biểu diễn dấu:
0: biểu diễn số dương
1: biểu diễn số âm
Các bit còn lại biểu diễn giá trị
Trong cách này, bit dn-1 là bit dấu và các bit từ d0 tới dn-2 cho giá trị tuyệt đối.
Một từ n bit tương ứng với số nguyên thập phân có dấu.
N = (−1)
d n−1
n−2
∑d 2
i =0
KTMM
i
i
22 / 50
Số nguyên có dấu
Một Byte (8 bit) dải biểu diễn của các số có dấu là như
thế nào?
Có hai cách biểu diễn số không là 0000 0000 (+0) và
1000 0000 (-0).
Ví dụ:
+25 =????; -25 = ????
Vấn đề nảy sinh
Cần quan tâm cả phần dấu và phần độ lớn khi thực hiện các phép
toán số học
Có đến 2 cách biểu diễn cho số 0 (+0 và -0)
IBM 7090 sử dụng pp 1 biểu diễn số âm
23 / 50
KTMM
Số nguyên có dấu
Dùng mã bù 1
Đối với số dương: biểu diễn dạng nhị phân
Đối với số âm: tìm số bù 1, thêm bit dấu:
Bit lớn nhất biểu diễn dấu:
0: biểu diễn số dương
1: biểu diễn số âm
Đổi số dương tương ứng → nhị phân
Tìm số bù 1 (đảo bit 1 → 0, 0 → 1)
Đặc điểm:
Có 2 cách biểu diễn số 0
0000 0000 (+0)
1111 1111 (-0)
PP này dùng trong máy PDP-1, UNIVAC
1100/2200
24 / 50
KTMM
Số nguyên có dấu
Dùng mã bù 2
Đối với số dương: biểu diễn dạng nhị phân
Đối với số âm: tìm số bù 2:
B1: đổi số dương tương ứng → nhị phân
B2: tìm số bù 1 (đảo bit 1 → 0, 0 → 1)
B3: tìm số bù 2: số bù 1 cộng với 1
Số bù 2 thu được chính là cách biểu diễn số âm
Đặc điểm:
Thực hiện các phép toán số học dễ dàng
Chỉ có một sự biểu diễn duy nhất cho số 0
25 / 50
KTMM