Chương 3
Biểu diễn số học trong
máy tính
1
Nội dung
Mã hóa và lưu trữ dữ liệu trong máy tính
Các hệ đếm liên quan đến máy tính
Biểu diễn số nguyên
Biểu diễn số dấu phẩy động
Biểu diễn ký tự
2
3.1 Mã hoá và lưu trữ dữ liệu trong máy tính
1. Ngun tắc chung về mã hố dữ liệu:
Mọi thơng tin đưa vào máy tính đều được mã hố
thành dữ liệu nhị phân
Độ dài từ dữ liệu (word)
Độ dài từ dữ liệu là số bit được sử dụng để mã hoá
loại dữ liệu tương ứng
Thường là bội của 8 bit
Ví dụ: 8, 16, 32, 64 bit
8 bits = 1 Byte
210 bytes = 1024 bytes = 1 Kilobyte (1K)
210 KB = 1024 KB = 1 Megabyte (MB)
210 MB = 1024 MB = 1 Gigabyte (GB)
3
1. Nguyên tắc chung về mã hoá dữ liệu (tiếp)
Mã hóa theo các chuẩn quy ước
Dữ liệu số:
Số nguyên: mã hóa theo một số chuẩn
Số thực: mã hóa bằng số dấu phẩy động
Dữ liệu ký tự:
Mã hóa theo bộ mã ký tự
Ví dụ: bộ mã ASCII (American Stadards Code for
Information) và bộ mã Unicode
4
2. Thứ tự lưu trữ các byte trong bộ nhớ chính
Bộ nhớ chính thường được tổ chức theo byte:
Độ dài từ dữ liệu có thể chiếm từ một đến nhiều byte
Phải biết thứ tự lưu trữ các byte trong bộ nhớ chính đối với
các dữ liệu nhiều byte
Có 2 cách lưu trữ:
Lưu trữ đầu nhỏ (Little-endian): Byte có ý nghĩa thấp được
lưu trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte có ý nghĩa cao
được lưu trữ ở ngăn nhớ có địa chỉ lớn hơn
Lưu trữ đầu to (Big-endian): Byte có ý nghĩa cao được lưu
trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte có ý nghĩa thấp
được lưu trữ ở ngăn nhớ có địa chỉ lớn hơn.
5
Ví dụ lưu trữ dữ liệu 32-bit
6
3.2 Các hệ đếm liên quan đến máy tính
Hệ thập phân
Hệ nhị phân
Hệ thập lục phân
7
1. Biểu diễn số tổng quát
Nguyên tắc chung của biểu diễn số:
Dùng một số hữu hạn các ký hiệu
Số ký hiệu được dùng gọi là cơ số của hệ, ký hiệu
là r
Ghép với nhau theo qui ước về vị trí
Trọng số của hệ là ri, với i là số nguyên dương
hoặc âm
8
1. Biểu diễn số tổng quát (tiếp)
Biểu diễn số A trong hệ đếm cơ số r:
A = (an-1an-2 … a0,a-1a-2 …a-m)r
Phần nguyên
Trong đó
Phần lẻ
ai: Các chữ số trong hệ đếm
r: cơ số của hệ đếm
Giá trị của A:
A = (an-1rn-1 + an-2rn-2 + … + a0r0
+ a-1r-1 + a-2r-2 + … + a-mr-m)10
9
1. Biểu diễn số tổng quát (tiếp)
Các hệ đếm cơ bản:
Tên hệ đếm
Các ký hiệu
Cơ số (r)
Hệ thập phân (Decimal) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
10
Hệ nhị phân
(Binary)
0, 1
2
Hệ thập lục phân
(Hexadecimal)
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C, D, E, F
16
10
2. Hệ thập phân (Decimal)
Cơ số r = 10
10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Dùng n chữ số thập phân có thể biểu diễn được 10n
giá trị khác nhau:
00...000 = 0
99...999 = 10n – 1
Ví dụ: Dùng 2 chữ số biểu thị được 100 giá trị khác nhau
(từ 0 – 99)
11
2. Hệ thập phân (tiếp)
Biểu diễn số A trong hệ thập phân:
A = (an-1an-2 … a0,a-1a-2 …a-m)10
Giá trị của A được tính như sau:
A = an-110n-1 + an-210n-2 + … + a0100
+ a-110-1 + a-210-2 + … + a-m10-m
12
Ví dụ số thập phân
Trọng số
102 101 100
10-1 10-2
4 7 2,3 8
MSD
(Most significant digit)
LSD
(Least significant digit)
472,38 = 4.102 + 7.101 + 2.100 + 3.10-1 + 8.10-2
13
3. Hệ nhị phân (Binary)
Cơ số r = 2
2 chữ số: 0, 1
Chữ số nhị phân gọi là bit
Bit là đơn vị thơng tin nhỏ nhất
Dùng n bit có thể biểu diễn được 2n giá trị khác
nhau:
00...000 = 0
11...111 = 2n – 1
Ví dụ: Dùng 2 bit 4 giá trị khác nhau: 00, 01, 10, 11
Dùng 8 bit biểu diễn được bao nhiêu giá trị khác nhau?
14
3. Hệ nhị phân (tiếp)
Biểu diễn số A trong hệ nhị phân:
A = (an-1an-2 … a0,a-1a-2 …a-m)2
Giá trị của A được tính như sau:
A = (an-12n-1 + an-22n-2 + … + a020
+ a-12-1 + a-22-2 + … + a-m2-m)10
15
Ví dụ số nhị phân
Trọng số
22 21 20
2-1
2-2
1 0 1,1 1
MSB
LSB
(Most significant bit)
(Least significant bit)
101, 112 = (1.22 + 0.21 + 1.20 + 1.2-1 + 1.2-2)10 = 5,7510
16
Nhận xét
Hệ thập phân
− Quen dùng, dễ nhận biết
− Cách biểu diễn gọn
− Khả năng biểu diễn của hệ lớn
− Mất ít thời gian đọc và viết
Hệ nhị phân
− Khơng quen dùng, khó nhận
biết
− Cách biểu diễn cồng kềnh
− Khả năng biểu diễn của hệ nhỏ
− Tốn nhiều thời gian đọc và viết
− Thể hiện bằng thiết bị kỹ thuật − Thể hiện bằng thiết bị kỹ thuật
khó khăn và phức tạp
rất dễ
17
4. Hệ 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, F
Dùng để viết gọn cho số nhị phân
18
4. Hệ thập lục phân (tiếp)
Biểu diễn số nhị phân trong hệ Hexa:
Cứ một nhóm 4 bit sẽ được thay thế bằng 1 chữ số Hexa
Ví dụ chuyển đổi số nhị phân số Hexa
0000 00002 = 0016
1011 00112 = B316
010 1101 1001 10102 = 0010 1101 1001 10102
= 2D9A16
1111 1111 1111 11112 = FFFF16
19
5. Chuyển đổi giữa các hệ đếm
a. Chuyển đổi từ hệ cơ số bất kỳ sang hệ cơ số 10
b. Chuyển đổi từ hệ cơ số 10 sang các hệ khác
c. Chuyển đổi giữa hệ nhị phân và hệ Hexa
20
a. Chuyển đổi từ hệ cơ số bất kỳ sang hệ
cơ số 10
Số A ở hệ cơ số r:
A = (an-1an- 2 … a0,a-1a-2 …a-m)r
Giá trị của A ở hệ 10:
A = (an-1rn-1 + an-2rn-2 + … + a0r0
+ a-1r-1 + a-2r-2 + … + a-mr-m)10
Ví dụ:
(1101,011)2 = ( 23 + 22 + 20 + 2-2 + 2-3 )10 = 13,37510
(1E)16 = ( 1 x 161 + 14 x 160)10 = 3010
21
b. Chuyển đổi từ hệ cơ số 10 sang các hệ khác
Chuyển đổi phần nguyên
Chuyển đổi phần lẻ
22
Chuyển đổi phần nguyên
Lấy phần nguyên chia lặp cho cơ số mới
Thực hiện cho tới khi kết quả của phép chia bằng 0
thì dừng
Lấy số dư sau mỗi lần chia, viết đảo trật tự là kết
quả cần tìm
23
Ví dụ
5910 = ( ? )2
5910 = ( ? )16
24
Ví dụ (tiếp)
59 : 2 = 29
29 : 2 = 14
14 : 2 = 7
7:2=3
3:2=1
1:2=0
dư
dư
dư
dư
dư
dư
1
1
0
1
1
1
59 : 16 = 3 dư 11 B
3 : 16 = 0 dư 3
Kết quả: 5910 = 3B16
Kết quả: 5910 = 1110112
25