
Bài giảng Kiến trúc máy tính 18 March 2007
Nguyễn Kim Khánh - ĐHBKHN 1
18 March 2007 Bài giảng Kiến trúc Máy tính 1
NKK-HUT
Kiến trúc máy tính
Chương 3
SỐHỌC MÁY TÍNH
Nguyễn Kim Khánh
Trường Đại học Bách khoa Hà Nội
18 March 2007 Bài giảng Kiến trúc Máy tính 2
NKK-HUT
Nội dung giáo trình
Chương 1. Giới thiệu chung
Chương 2. Hệthống máy tính
Chương 3. Sốhọc máy tính
Chương 4. Bộxử lý trung tâm
Chương 5. Bộnhớmáy tính
Chương 6. Hệthống vào-ra
Chương 7. Kiến trúc máy tính tiên tiến
18 March 2007 Bài giảng Kiến trúc Máy tính 3
NKK-HUT
3.1. Các hệ đếm cơ bản
3.2. Mã hóa và lưu trữdữliệu trong máy tính
3.3. Biểu diễn sốnguyên
3.4. Thực hiện các phép toán sốhọc với sốnguyên
3.5. Sốdấu phẩy động
3.6. Biểu diễn ký tự
Nội dung chương 3
18 March 2007 Bài giảng Kiến trúc Máy tính 4
NKK-HUT
3.1. Các hệ đếm cơ bản
Hệthập phân (Decimal System)
Æcon người sửdụng
Hệnhịphân (Binary System)
Æmáy tính sửdụng
Hệ mười sáu (Hexadecimal System)
Ædùng để viết gọn cho sốnhịphân

Bài giảng Kiến trúc máy tính 18 March 2007
Nguyễn Kim Khánh - ĐHBKHN 2
18 March 2007 Bài giảng Kiến trúc Máy tính 5
NKK-HUT
1. Hệthập phân
Cơ số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 10ngiá trịkhác nhau:
00...000 = 0
99...999 = 10n -1
18 March 2007 Bài giảng Kiến trúc Máy tính 6
NKK-HUT
Dạng tổng quát của sốthập phân
Giá trịcủa A được hiểu như sau:
mnn a...aaa...aaA −−−
=1011 ,
m
m
n
n
n
na...aaa...aaA −
−
−
−
−
−+++++++= 101010101010 1
1
0
0
1
1
1
1
i
n
mi
i
aA 10
∑
−=
=
18 March 2007 Bài giảng Kiến trúc Máy tính 7
NKK-HUT
Ví dụsốthập phân
472.38 = 4x102+ 7x101 + 2x100+ 3x10-1 + 8x10-2
Các chữsốcủa phần nguyên:
472 : 10 = 47 dư2
47 : 10 = 4 dư7
4 : 10 = 0 dư 4
Các chữsốcủa phần lẻ:
0.38 x 10 = 3.8 phần nguyên = 3
0.8 x 10 = 8.0 phần nguyên = 8
18 March 2007 Bài giảng Kiến trúc Máy tính 8
NKK-HUT
2. Hệnhịphân
Cơ số2
2 chữsốnhịphân: 0 và 1
chữsốnhịphân gọi là bit (binary digit)
Bit là đơn vịthông tin nhỏnhất
Dùng n bit có thểbiểu diễn được 2ngiá trị
khác nhau:
00...000 = 0
11...111 = 2n -1

Bài giảng Kiến trúc máy tính 18 March 2007
Nguyễn Kim Khánh - ĐHBKHN 3
18 March 2007 Bài giảng Kiến trúc Máy tính 9
NKK-HUT
Dạng tổng quát của sốnhịphân
Giá trịcủa A được tính như sau:
mnn a...aaa...aaA −−−
=1011 ,
m
m
n
n
n
na...aaa...aaA −
−
−
−
−
−+++++++= 222222 1
1
0
0
1
1
1
1
i
n
mi
i
aA 2
∑
−=
=
Có một sốnhị phân A như sau:
18 March 2007 Bài giảng Kiến trúc Máy tính 10
NKK-HUT
Ví dụsốnhịphân
1101001.1011(2) =
6 5 4 3 2 1 0 -1 -2 -3 -4
= 26+ 25+ 23+ 20+ 2-1 + 2-3 + 2-4
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625
= 105.6875(10)
18 March 2007 Bài giảng Kiến trúc Máy tính 11
NKK-HUT
Chuyển đổi sốnguyên thập phân sang nhịphân
Phương pháp 1: chia dần cho 2 rồi lấy
phần dư
Phương pháp 2: Phân tích thành tổng
của các số2iÆ nhanh hơn
18 March 2007 Bài giảng Kiến trúc Máy tính 12
NKK-HUT
Phương pháp chia dần cho 2
Ví dụ: chuyển đổi 105(10)
105 : 2 = 52 dư 1
52 : 2 = 26 dư0
26 : 2 = 13 dư0
13 : 2 = 6 dư1
6 : 2 = 3 dư0
3 : 2 = 1 dư1
1 : 2 = 0 dư1
Kết quả: 105(10) = 1101001(2)

Bài giảng Kiến trúc máy tính 18 March 2007
Nguyễn Kim Khánh - ĐHBKHN 4
18 March 2007 Bài giảng Kiến trúc Máy tính 13
NKK-HUT
Phương pháp phân tích thành tổng của các 2i
Kết quả: 105(10) = 0110 1001(2)
1248163264128
10010110
20
21
22
23
24
25
26
27
Ví dụ1: chuyển đổi 105(10)
105 = 64 + 32 + 8 +1 = 26 + 25 + 23 + 20
Ví dụ2: 17000(10) = 16384 + 512 + 64 + 32 + 8
= 214 + 29 + 26 + 25 + 23
17000(10) = 0100 0010 0110 1000(2)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
18 March 2007 Bài giảng Kiến trúc Máy tính 14
NKK-HUT
Chuyển đổi sốlẻthập phân sang nhịphân
Ví dụ1: chuyển đổi 0.6875(10)
0.6875 x 2 = 1.375 phần nguyên = 1
0.375 x 2 = 0.75 phần nguyên = 0
0.75 x 2 = 1.5 phần nguyên = 1
0.5 x 2 = 1.0 phần nguyên = 1
Kết quả: 0.6875(10)= 0.1011(2)
18 March 2007 Bài giảng Kiến trúc Máy tính 15
NKK-HUT
Chuyển đổi sốlẻthập phân sang nhịphân (tiếp)
Ví dụ2: chuyển đổi 0.81(10)
0.81 x 2 = 1.62 phần nguyên = 1
0.62 x 2 = 1.24 phần nguyên = 1
0.24 x 2 = 0.48 phần nguyên = 0
0.48 x 2 = 0.96 phần nguyên = 0
0.96 x 2 = 1.92 phần nguyên = 1
0.92 x 2 = 1.84 phần nguyên = 1
0.84 x 2 = 1.68 phần nguyên = 1
0.81(10) ≈0.1100111(2)
18 March 2007 Bài giảng Kiến trúc Máy tính 16
NKK-HUT
Chuyển đổi sốlẻthập phân sang nhịphân (tiếp)
Ví dụ3: chuyển đổi 0.2(10)
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
0.2 x 2 = 0.4 phần nguyên = 0
0.4 x 2 = 0.8 phần nguyên = 0
0.8 x 2 = 1.6 phần nguyên = 1
0.6 x 2 = 1.2 phần nguyên = 1
0.2(10) ≈0.00110011 (2)

Bài giảng Kiến trúc máy tính 18 March 2007
Nguyễn Kim Khánh - ĐHBKHN 5
18 March 2007 Bài giảng Kiến trúc Máy tính 17
NKK-HUT
3. Hệ mười sáu (Hexa)
Cơ số16
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: cứmột
nhóm 4-bit sẽ được thay bằng một chữsố
Hexa
18 March 2007 Bài giảng Kiến trúc Máy tính 18
NKK-HUT
Quan hệgiữa sốnhịphân và sốHexa
F1111
E1110
D1101
C1100
B1011
A1010
91001
81000
70111
60110
50101
40100
30011
20010
10001
00000
ChữsốHexa4-bit
Ví dụchuyển đổi sốnhịphân ÆsốHexa:
1011 00112 = B316
0000 00002 = 0016
0010 1101 1001 10102 = 2D9A16
1111 1111 1111 11112 = FFFF16
18 March 2007 Bài giảng Kiến trúc Máy tính 19
NKK-HUT
3.2. Mã hóa và lưu trữdữliệu trong máy tính
Mọi dữliệu đưa vào máy tính đều phải
được mã hóa thành sốnhịphân
Các loại dữliệu
Dữliệu nhân tạo: do con người qui ước
Dữliệu tựnhiên: tồn tại khách quan với
con người
1. Nguyên tắc chung vềmã hóa dữliệu
18 March 2007 Bài giảng Kiến trúc Máy tính 20
NKK-HUT
Mã hoá dữliệu nhân tạo
Mã hóa theo các chuẩn qui ướ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ự

