Tải bản đầy đủ (.pdf) (105 trang)

Cấu trúc máy tính chương 2 biểu diễn dữ liệu và số học máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (822.51 KB, 105 trang )

Cấu trúc máy tính

Chƣơng 2

BIỂU DIỄN DỮ LIỆU
& SỐ HỌC MÁY TÍNH

62


Nội dung chƣơng 2

2.1. Các hệ đếm cơ bản
2.2. Mã hóa và lƣu trữ dữ liệu trong máy tính
2.3. Biểu diễn số nguyên
2.4. Các phép toán số học với số nguyên
2.5. Biểu diễn số thực
2.6. Biểu diễn kí tự

63


Các hệ đếm cơ bản
 Về mặt toán học, ta có thể biểu diễn số theo hệ
đếm cơ số bất kì.
 Khi nghiên cứu về máy tính, ta chỉ quan tâm đến
các hệ đếm sau đây:






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

64


Hệ thập phân
 Sử dụng 10 chữ số: 0,1,2,3,4,5,6,7,8,9 để biểu diễn số
 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

 Giả sử một số A đƣợc biểu diễn dƣới dạng:
A = an an-1 … a1 a0 . a-1 a-2 … a-m



 Giá trị của A đƣợc hiểu nhƣ sau:



A  an10 n  an 110 n 1  ...  a1101  a0100  a110 1  ...  am10  m
A

n


i
a
10
 i

i  m

65


Ví dụ
 Số thập phân 472.38 có giá trị đƣợc hiểu nhƣ sau:
472.38 = 4 x 102 + 7 x 101 + 2 x 100 + 3 x 10-1 + 8 x 10-2

66


Mở rộng cho hệ cơ số r (r>1)
 Sử dụng r chữ số có giá trị riêng từ 0 đến r-1 để biểu diễn số
 Giả sử có số A đƣợc biểu diễn bằng các chữ số của hệ đếm
theo cơ số r nhƣ sau:


A = an an-1 … a1 a0 . a-1 a-2 … a-m

 Giá trị của A là:

A  an r n  an 1r n 1  ...  a1r 1  a0 r 0  a1r 1  a2 r 2  ...  am r  m
A


n

i
a
r
 i

i  m

 Một chuỗi n chữ số của hệ đếm cơ số r sẽ biểu
diễn đƣợc rn giá trị khác nhau.
67


Hệ nhị phân





Sử 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 bit có thể biểu diễn đƣợc 2n giá trị khác nhau:




00...000 = 0

...
11...111 = 2n-1

 Giả sử có số A đƣợc biểu diễn theo hệ nhị phân nhƣ sau:
A = an an-1 … a1 a0 . a-1 a-2 … a-m
 Với ai là các chữ số nhị phân, khi đó giá trị của A là:
A  an 2 n  an 1 2 n 1  ...  a1 21  a0 20  a1 2 1  a2 2 2  ...  am 2  m
A

n

i
a
2
 i

i  m

68


Ví dụ
 Số nhị phân 1101001.1011 có giá trị đƣợc xác định
nhƣ sau:
1101001.1011(2) = 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4
= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10)

69



Đổi số thập phân sang nhị phân
 Thực hiện chuyển đổi phần nguyên và phần lẻ riêng.
 Chuyển đổi phần nguyên:


Cách 1: chia dần số đó cho 2, xác định các phần dƣ, rồi viết các số
dƣ theo chiều ngƣợc lại.
 Ví dụ: chuyển đổi 105(10) sang hệ nhị phân ta làm nhƣ sau:
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
Nhƣ vậy, ta có: 105(10) = 1101001(2)

70



Đổi số thập phân sang nhị phân
 Chuyển đổi phần nguyên (tiếp):


Cách 2: phân tích số đó thành tổng các lũy thừa của 2, sau đó dựa
vào các số mũ để xác định dạng biểu diễn nhị phân.
 Ví dụ: 105 = 64 + 32 + 8 + 1 = 26 + 25 + 23 + 20
 105(10) = 1101001(2)

 Chuyển đổi phần lẻ:


Nhân phần lẻ với 2 rồi lấy phần nguyên ... Sau đó viết các phần
nguyên theo chiều thuận.
 Ví dụ: chuyển đổi số 0.6875(10) sang hệ nhị phân:
0.6875 x 2
=
1.3750 phần nguyên
0.375
x2
=
0.750
phần nguyên
0.75
x2
=
1.50
phần nguyên
0.5
x2

=
1.0
phần nguyên
Kết quả là: 0.6875(10) = 0.1011(2)

=
=
=
=

1
0
1
1

71


3. Hệ mƣời sáu (Hexa)
 Sử dụng 16 chữ số, kí hiệu
nhƣ sau:
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.

72


Một số ví dụ

 Nhị phân  Hexa:
 Hexa  Nhị phân:
 Thập phân  Hexa:

11 1011 1110 0110(2) = 3BE6(16)
3E8(16) = 11 1110 1000(2)
14988  ?

14988 : 16
=
936

936 : 16
=
58

58 : 16
=
3

3 : 16
=
0

Nhƣ vậy, ta có: 14988(10) = 3A8C(16)

 Hexa  Thập phân:

12 tức là C
8

10 tức là A
3

3A8C  ?

3A8C (16) = 3 x 163 + 10 x 162 + 8 x 161 +12 x 160
= 12288 + 2560 + 128 + 12 = 14988(10)

73


Cộng trừ số Hexa
8A9B
+
37CD
C268

B46E
1AC9
99A5

B7E5
+
2AF9
E2DE

FA9D
2BC5
CED8


B800
+
0FFF

8E9A
3FE2

1234
+
ABCD

4B6D
3FEA

CFFF
+
1FFF

A78D
45FB

879D
+
5DF8

98BA
8A9D
74



Nội dung chƣơng 2

2.1. Các hệ đếm cơ bản
2.2. Mã hóa và lƣu trữ dữ liệu trong máy tính
2.3. Biểu diễn số nguyên
2.4. Các phép toán số học với số nguyên
2.5. Biểu diễn số thực
2.6. Biểu diễn kí tự

75


Mã hóa và lƣu trữ dữ liệu

1. Nguyên tắc chung về mã hóa dữ liệu
2. Lƣu trữ thông tin trong bộ nhớ chính

76


1. Nguyên tắc chung về mã hóa dữ liệu
 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 quy ƣớc
Dữ liệu tự nhiên: tồn tại khách quan với con ngƣời


77


Nguyên tắc mã hóa dữ liệu
 Mã hóa dữ liệu nhân tạo:




Dữ liệu số nguyên: mã hóa theo chuẩn qui ƣớc
Dữ liệu số thực: mã hóa bằng số dấu chấm động
Dữ liệu ký tự: mã hóa theo bộ mã ký tự

78


Nguyên tắc mã hóa dữ liệu (tiếp)
 Mã hóa dữ liệu tự nhiên:






Phổ biến là các tín hiệu vật lý nhƣ âm thanh, hình ảnh, ...
Các dữ liệu tự nhiên cần phải đƣợc số hóa (digitalized) trƣớc khi đƣa
vào trong máy tính.
Sơ đồ mã hóa và tái tạo tín hiệu vật lý:

TÝn hiÖu vËt lý


Bé c¶m biÕn
tÝn hiÖu
(sensor)

TÝn hiÖu ®iÖn
Bé chuyÓn ®æi
liªn tôc
t-¬ng tù - sè
(ADC)

TÝn hiÖu sè

M¸y tÝnh
TÝn hiÖu vËt lý

Bé t¸i t¹o
tÝn hiÖu

TÝn hiÖu ®iÖn
Bé chuyÓn ®æi
liªn tôc
sè - t-¬ng tù
(DAC)

TÝn hiÖu sè

79



Độ dài từ dữ liệu
 Độ dài từ dữ liệu:




Là số bit đƣợc sử dụng để mã hóa loại dữ liệu tƣơng
ứng
Trong thực tế, độ dài từ dữ liệu thƣờng là bội số của 8
bit, ví dụ: 8, 16, 32, 64 bit

80


2. Lƣu trữ thông tin 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 1 hoặc nhiều Byte
 Cần phải biết thứ tự lƣu trữ các byte trong bộ nhớ
chính:



Lƣu trữ kiểu đầu nhỏ (Little-endian)
Lƣu trữ kiểu đầu to (Big-endian)

 Little-endian: Byte có ý nghĩa thấp hơn đƣợc lƣu
trữ trong bộ nhớ ở vị trí có địa chỉ nhỏ hơn.
 Big-endian: Byte có ý nghĩa thấp hơn đƣợc lƣu trữ
trong bộ nhớ ở vị trí có địa chỉ lớn hơn.


81


Ví dụ





Intel 80x86, Pentium: Little-endian
Motorola 680x0, các bộ xử lý RISC: Big-endian
Power PC, Itanium: hỗ trợ cả hai (Bi-endian)
82


Bài tập
 Dữ liệu 16 bit có giá trị là 5B9D đƣợc lƣu trữ vào
bộ nhớ chính tổ chức theo kiểu Little-endian bắt
đầu từ byte nhớ có địa chỉ là 1234. Hãy xác định
nội dung các byte nhớ chứa lƣu trữ dữ liệu đó dƣới
dạng nhị phân.

83


Nội dung chƣơng 2

2.1. Các hệ đếm cơ bản
2.2. Mã hóa và lƣu trữ dữ liệu trong máy tính
2.3. Biểu diễn số nguyên

2.4. Các phép toán số học với số nguyên
2.5. Biểu diễn số thực
2.6. Biểu diễn kí tự

84


Biểu diễn số nguyên

1. Số nguyên không dấu
2. Số nguyên có dấu
3. Biểu diễn số nguyên theo mã BCD

85


1. Số nguyên không dấu
 Dạng tổng quát: giả sử dùng n bit để biểu diễn cho một số
nguyên không dấu A:
an-1an-2...a3a2a1a0
 Giá trị của A đƣợc tính nhƣ sau:

A  an 1 2 n 1  an 2 2 n 2  ...  a1 21  a0 20
n 1

A   ai 2

i

i 0


 Dải biểu diễn của A: từ 0 đến 2n-1

86


×