Trường ĐHCNTT Vũ Đức Lung
3.1. Khái niệm thông tin
3.2. Lượng thông tin và sự mã hóa thông tin
3.3. Hệ thống số
3.4. Các phép tính số học cho hệ nhị phân
3.5. Số quá n (excess-n)
3.6. Cách biểu diễn số với dấu chấm động
3.7. Biểu diễn số BCD
3.8. Biểu diễn các ký tự
Mục tiêu
Hiểu các hệ cơ số thông dụng và cách chuyển đổi.
Hiểu phương pháp biểu diễn số nguyên và số chấm động.
Hiểu các phương pháp tính đơn giản với các số.
Hiểu các phương pháp biểu diễn số BCD và ký tự
Hình dung về “biểu diễn dữ liệu”
Mọi thứ trong máy tính đều là 0 và 1
Thế giới bên ngoài có nhiều khái niệm như con số, chữ cái, hình ảnh, âm thanh,…
→ biểu diễn dữ liệu = quy tắc “gắn kết” các khái niệm trong thế giới thật với một dãy số 0 và 1 trong máy tính
3.1. Khái niệm thông tin
Dùng các tín hiệu điện thế
Phân thành các vùng khác nhau
3.2. 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.
Lượng thông tin được định nghĩa bởi công thức:
I = Log2(N)
–Trong đó:
•I: là lượng thông tin tính bằng bit
•N: là số trạng thái có thể có
–Ví dụ, để biểu diễn một trạng thái trong 8 trạng thái có thể có, ta cần một số bit ứng với một lượng thông tin là:
I = Log2(8) = 3 bit
3.3. Hệ Thống Số
Dạng tổng quát để biểu diễn giá trị của một số:
–Trong đó:
•Vk: Số cần biểu diễn giá trị
•m: số thứ tự của chữ số phần lẻ (phần lẻ của số có m chữ số được đánh số thứ tự từ -1 đến -m)
•n-1: số thứ tự của chữ số phần nguyên (phần nguyên của số có n chữ số được đánh số thứ tự từ 0 đến n-1)
•bi: giá trị của chữ số thứ i
•k: hệ số (k=10: hệ thập phân; k=2: hệ nhị phân;...).
3.3. Hệ Thống Số
Các hệ đếm (cơ số) thông dụng
–Thập phân (Decimal)
•10 chữ số : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
–Nhị phân (Binary)
•2 chữ số: 0, 1
–Bát phân (Octal)
•8 chữ số: 0, 1, 2, 3, 4, 5, 6, 7
–Thập lục phân (Hexadecimal)
•16 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E.
–A=10, B=11, C=12, D=13, E=14, F=15
Chuyển đổi từ cơ số 10 sang b
Quy tắc:
Chia số cần đổi cho b, lấy kết quả chia tiếp cho b cho đến khi kết quả bằng 0. Số ở cơ số b chính là các số dư (của phép chia) viết ngược.
Ví dụ:
41 ÷ 2 = 20 dư 1
20 ÷ 2 = 10 dư 0
10 ÷ 2 = 5 dư 0
5 ÷ 2 = 2 dư 1
2÷ 2 = 1 dư 0
1 ÷ 2 = 0 dư1
Chuyển đổi hệ 10 sang Nhị phân
Ví dụ: Chuyển sang hệ Nhị phân số: 13,6875
Thực hiện:
Phần nguyên: 13:2 = 6 dư 1
6:2 = 3 dư 0
3:2 = 1 dư 1
1:2 = 0 dư 1
Phần nguyên của số Nhị phân là 1101
Phầnlẻ:
0,6875 x 2 = 1,375 Phần nguyên là 1
0,375 x 2 = 0,750 Phần nguyên là 0
0,750 x 2 = 1,500 Phần nguyên là 1
0,5 x 2 = 1,00 Phần nguyên là 1
Phần lẻ của số Nhị phân là: 0,1011
Ta viết kết quả là: (13,625)10 = (1101,1011)2
Chuyển đổi từ cơ số 10 sang b
Quy tắc: Chia số cần đổi cho b, lấy kết quả chia tiếp cho b cho đến khi kết quả bằng 0. Số ở cơ số b chính là các số dư (của phép chia) viết ngược.
Ví dụ:
41 ÷ 16 = 2 dư 9
2 ÷ 16 = 0 dư 2
Ví dụ: Chuyển số (3287,5100098)10 sang Cơ số 8.
Phần nguyên:
3287:8 = 410dư7
410:8 = 51dư2
51:8= 6dư3
6:8= 0dư6
Vậy (3287)10=(6327)8
Phần lẻ:
0,5100098x8 = 4,0800784 phần nguyên là 4
0,0800784x8= 0,6406272 phần nguyên là 0
0,6406270x8= 5,1250176 phần nguyên là 5
0,1250176x8= 1,0001408 phần nguyên là 1
Vậy (0,5100098)10=(0,4051)8
Kết quả chung là: (3287,5100098)10 =(6327,4051)8
Chuyển đổi cơ số 2-8-16
Quy tắc: Từ phải sang trái, gom 3 chữ số nhị phân thành một chữ số bát phân hoặc gom 4 chữ số nhị phân thành một chữ số thập lục phân
Số bù
Quy tắc chung (r: cơ số, n: số chữ số)
–Bù (r-1) của N = (rn – 1) – N
–Bù r của N = rn – N
•Bù r của (bù r của N) = N
•Nhận xét:Có tính chất giống – (– N) = N
Đối với hệ 10
–bù 9 của N = 9-từng ký số
•VD: Bù 9 của 43520 là 99999 – 43520 = 56479
–Bù 10 của N = bù 9 +1
•VD: bù 10 của 43520 là 56478 + 1 = 56480
•Mẹo: Bù 10 của 347200 là 652800
Số bù (tt)
Đối với hệ nhị phân:
–Bù 1 = đảo n bit của N
•Bù 1 của (1100) = 0011
–Bù 2 = bù 1 + 1
•Bù 2 của (1100) = 0011 + 1 = 0100
•Mẹo: giữ nguyên các số 0 bên phải cho đến khi gặp số 1, sau đó đảo
1100
0100
Số quá n (excess-n)
Phép cộng trừ nhị phân dùng bù 1
Phép cộng giống như cộng các số nhị phân không dấu, cộng cả bit dấu.
Cần lưu ý: Cộng số nhớ của bit lớn nhất vào bit cuối cùng
Ví dụ:
13001101-13110010
+ + + +
11001011 -11110100
____________________
24011000-24Nhớ 1 100110
+ 1
______
100111
Phép trừ thực hiện thông qua phép cộng
Phép cộng trừ nhị phân dùng bù 2
Quy tắc: -A = bù 2 của A
A – B = A + (-B) = A + (bù 2 của B)
Ví dụ: 13 – 6 = 13 + (-6)
6 =00000110
-6 =11111010
13= 00001101
= 00000111 (7)
Cộng trừ số nhị phân nguyên
Các ví dụ:
BCD (Binary Coded Decimal)
Biểu diễn một chữ số thập phân bằng 4 chữ số nhị phân (ít dùng)
0 = 0000
1 = 0001
…
9 = 1001
Ví dụ tính toán với BCD
Biểu diễn ký tự
Sử dụng bộ mã ASCII mở rộng (8 bit)
–00 – 1F: ký tự điều khiển
–20 – 7F: ký tự in được
–80 – FF: ký tự mở rộng (ký hiệu tiền tệ, vẽ khung, …)
Ngày nay dùng bộ mã Unicode (16 bit) (UTF-8)
Biểu diễn số nguyên có dấu
+2510 = 000110012
-2510 = 100110012
Một Byte (8 bit) có thể biểu diễn các số có dấu từ -127 tới +127.
Có hai cách biểu diễn số không là 0000 0000 (+0) và 1000 0000 (-0).
Biểu diễn chấm động
F = (-1)S × M × RE
–S: dấu
–M: định trị
–R: cơ số
–e: mũ
Ví dụ: 2006 = (-1)0 × 2.006 × 103
Biểu diễn chấm động
Biểu diễn chấm động được gọi là chuẩn hóa khi phần định trị chỉ có duy nhất một chữ số bên trái dấu chấm thập phân và chữ số đó khác không → một số chỉ có duy nhất một biểu diễn chấm động được chuẩn hóa.
2.006 × 103 (chuẩn)
20.06 × 102 (không)
0.2006 × 104 (không)
Biểu diễn chấm động trên hệ nhị phân
Sử dụng dạng chuẩn hóa
Dùng 1 bit cho phần dấu: 0-dương, 1-âm
Không biểu diễn cơ số (R) vì luôn bằng 2
Phần định trị chỉ biểu diễn phần lẻ (bên phải dấu chấm) vì chữ số bên trái dấu chấm luôn là 1
Biểu diễn chấm động trên hệ nhị phân
Ví dụ:
–Dấu 1 bit
–Mũ: 8 bit (từ bit 23 đến bit 30) là một số quá 127 (sẽ có trị từ -127 đến 128)
–Định trị: 23 bit (từ bit 0 đến bit 22)
Biểu diễn chấm động trên hệ nhị phân
Ví dụ:
209.812510 = 11010001.11012
= 1.10100011101 × 27
Biểu diễn (quá-127) của 7 là:
127+7 = 134 = 100001102
Kết quả:
0 10000110 1010001110100000000000