nguyen thanh tung THPT QUY HO
P 1
1
KiÕn tróc m¸y tÝnh
Ch¬ng 2
BiÓu diÔn d÷ liÖu
& sè häc m¸y tÝnh
2
Nội dung bài giảng
Chương 1: Giới thiệu chung
Chương 2: Biểu diễn DL & số học máy tính
Chương 3: Bộ xử lý
Chương 4: Kiến trúc tập lệnh
Chương 5: Hệ thống nhớ
Chương 6: Hệ thống vào/ra
3
Nội dung chương 2
Các hệ đếm cơ bản
M hoá và ã lưu trữ dữ liệu trong máy tính
Biểu diễn số nguyên
Các phép toán số học đối với số nguyên
Biểu diễn số thực
Biểu diễn ký tự.
4
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ệ thập lục phân (Hexadecimal System)
Dùng để viết gọn số nhị phân
Bài tập
5
Hệ thập phân (Decimal System)
Cơ số 10
Dùng 10 chữ số: 0, 1, 2, ..., 9
Dùng n chữ số thập phân có thể biểu diễn đư
ợc 10
n
giá trị khác nhau:
00...0 = 0
99...9 = 10
n
1
6
215.37 = 2*10
2
+ 1*10
1
+ 5*10
0
+ 3*10
-1
+ 7*10
-2
C¸c ch÷ sè phÇn nguyªn:
•
215 : 10 = 21 d 5
•
21 : 10 = 2 d 1
•
2 : 10 = 0 d 2
C¸c ch÷ sè phÇn thËp ph©n:
•
0.37 * 10 = 3.7 phÇn nguyªn = 3
•
0.7 * 10 = 7.0 phÇn nguyªn = 7
VÝ dô
7
Hệ nhị phân (Binary System)
Cơ số 2
Dùng 2 chữ số: 0, 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 chữ số nhị phân có thể biểu diễn được
2
n
giá trị khác nhau:
00...0 = 0
11...1 = 2
n
- 1
8
HÖ nhÞ ph©n (Binary System)
D¹ng tæng qu¸t cña sè nhÞ ph©n:
•
Gi¶ sö cã mét sè nhÞ ph©n A:
A = a
n
a
n-1
... a
1
a
0
, a
-1
a
-2
... a
-m
•
Khi ®ã, gi¸ trÞ cña A ®îc tÝnh nh sau:
A = a
n
*2
n
+ a
n-1
*2
n-1
+ ... + a
0
*2
0
+
+ a
-1
*2
-1
+ a
-2
*2
-2
+ ... + a
-m
*2
-m
9
VÝ dô
Cã sè nhÞ ph©n nh sau: 1011 1001.101
(2)
Khi ®ã, gi¸ trÞ cña chóng ®îc tÝnh lµ:
1011 1001.101
(2)
=
= 2
7
+ 2
5
+
2
4
+
2
3
+
2
0
+
2
-1
+
2
-3
= 128 + 32 + 16 + 8 + 1 + 0.5 + 0.125
= 185.625
(10)
10
Chuyển đổi số thập phân nhị phân
Chuyển đổi phần nguyên:
Cách 1: Chia liên tiếp cho 2 rồi lấy phần dư
Cách 2: Phân tích thành tổng các luỹ thừa của 2
Chuyển đổi phần thập phân:
Nhân phần thập phân với 2, lấy phần nguyên
11
VÝ dô chuyÓn ®æi
Cã sè ë hÖ thËp ph©n nh sau: 61.3125
•
ChuyÓn ®æi phÇn nguyªn: 61
(10)
= 111101
(2)
•
ChuyÓn ®æi phÇn thËp ph©n:
0.3125 * 2 = 0.625 phÇn nguyªn = 0
0.625 * 2 = 1.25 phÇn nguyªn = 1
0.25 * 2 = 0.5 phÇn nguyªn = 0
0.5 * 2 = 1.0 phÇn nguyªn = 1
•
VËy: 61.3125
(10)
= 111101.0101
(2)
12
Cơ số 16
Dùng 16 chữ số: 0,1,..., 9, A, B, ..., 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
Dùng n chữ số Hexa có thể biểu diễn được 16
n
giá trị khác nhau:
00...0 = 0
FF...F = 16
n
- 1
Hệ thập lục phân (Hexadecimal System)
13
M· ho¸ & lu tr÷ d÷ liÖu trong m¸y tÝnh
M ho¸ d÷ · liÖu
Lu tr÷ d÷ liÖu
14
Mã hoá dữ liệu
Nguyên tắc chung
Mọi dữ liệu đưa vào máy tính đều phải được m ã
hoá thành số nhị phân
Các loại dữ liệu:
Dữ liệu nhân tạo: do con người quy ước
Dữ liệu tự nhiên: tồn tại khách quan với con người
M hoá dữ liệu nhân tạo:ã
Dữ liệu dạng số: m hoá theo chuẩn quy ướcã
Dữ liệu ký tự: m hoá theo bộ m ký tựã ã
15
M· ho¸ d÷ liÖu
M ho¸ vµ t¸i t¹o tÝn hiÖu tù nhiªn·
ADC
DAC
TH sè
TH sè
TH Ltôc
TH Ltôc
TH V.lý
TH V.lý
MT
Bé t¹o
tÝn hiÖu
Bé t¸i t¹o
tÝn hiÖu
16
Lưu trữ dữ liệu
Bộ nhớ chính được tổ chức theo byte
Độ dài dữ liệu có thể chiếm 1 hay nhiều byte
Có 2 cách lưu trữ các byte trong bộ nhớ chính:
Little-endian (đầu nhỏ): byte có ý nghĩa thấp hơn
được lưu trữ ở vị trí có địa chỉ nhỏ hơn
Big-endian (đầu to): byte có ý nghĩa thấp hơn đư
ợc lưu trữ ở vị trí có địa chỉ lớn hơn
17
VÝ dô lu tr÷ d÷ liÖu 32 bit
12 34 56 78
. . .
§Þa chØ
78
X
56
X +1
34
X + 2
12
X + 3
. . .
®Çu nhá
. . .
§Þa chØ
12
X
34
X +1
56
X + 2
78
X + 3
. . .
®Çu to
VÝ dô: Intel 80x86, Px: ®Çu nhá
Motorola 680x0: ®Çu to
Power PC, Itanium: c¶ hai lo¹i
18
BiÓu diÔn sè nguyªn
Sè nguyªn kh«ng dÊu (unsigned integer)
Sè nguyªn cã dÊu (signed integer)
ChuyÓn ®æi ®é dµi
Bµi tËp
19
Số nguyên không dấu
Nguyên tắc chung
Dùng n chữ số nhị phân thì biểu diễn được 2
n
số
Dải biểu diễn: 0 ữ 2
n
1
Ví dụ:
n = 8 bit: dải biểu diễn: 0 ữ 2
8
-1, hay 0 ữ 255
n = 16 bit: dải biểu diễn: 0 ữ 2
16
- 1, hay 0 ữ 65535
Cách biểu diễn
Biểu diễn ở dạng nhị phân một cách bình thường
20
C¸c vÝ dô
VÝ dô 1: biÓu diÔn c¸c sè nguyªn kh«ng dÊu
sau ®©y dïng 8 bit:
A = 73 ; B = 138
Gi¶i:
•
A = 73 = 64 + 8 + 1 = 2
6
+ 2
3
+ 2
0
73 = 0100 1001
•
B = 138 = 128 + 8 + 2 = 2
7
+ 2
3
+ 2
1
138 = 1000 1010
21
C¸c vÝ dô
VÝ dô 2: H y x¸c ®Þnh gi¸ trÞ cña c¸c sè nguyªn ·
kh«ng dÊu C, D ®îc biÓu diÔn b»ng 8 bit nh
sau:
C = 0010 1010; D = 1010 0110
Gi¶i:
•
C = 0010 1010 = 2
5
+ 2
3
+ 2
1
= 32 + 8 + 2 = 42
•
D = 1010 0110 = 2
7
+ 2
5
+ 2
2
+ 2
1
=
= 128 + 32 + 4 + 2 = 166
22
Số nguyên có dấu
Nguyên tắc chung
Dùng n chữ số nhị phân thì biểu diễn được 2
n
số
Dải biểu diễn: - 2
n-1
ữ 2
n-1
1
Ví dụ:
n = 8 bit: dải biểu diễn: - 2
7
ữ 2
7
-1, hay -128 ữ 127
n = 16 bit: - 2
15
ữ 2
15
- 1, hay - 32768 ữ 32767
Cách biểu diễn:
PP1: Dùng dấu và độ lớn (Sign-Magnitude)
PP2: Dùng m bù 2 (Twos complement)ã
23
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ị
Ví dụ:
+23 = 0001 0111; -23 = 1001 0111
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)
24
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
C¸c vÝ dô
VÝ dô 1: BiÓu diÔn c¸c sè nguyªn cã dÊu sau
®©y b»ng 8 bit: A = + 69; B = - 92
Gi¶i:
•
A = + 69 = 0100 0101
•
B = - 92 Ta cã: + 92 = 0101 1100
Sè bï 1 = 1010 0011
1
Sè bï 2 = 1010 0100
VËy: B = -92 = 1010 0100
+