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

Bài giảng Cấu trúc máy tính: Chương 2 - Phạm Ngọc Hưng

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 (1.19 MB, 106 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

1


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ự

2


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

3


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ị
nguyên 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

4


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

5


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ị nguyên khác nhau.
6


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

7


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)

8


Đổ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

1
52 : 2 = 26

0
26 : 2 = 13

0
13 : 2 = 6

1
6:2
= 3

0
3:2
= 1

1
1:2
= 0


1
Như vậy, ta có: 105(10) = 1101001(2)

9


Đổi số thập phân sang nhị phân
 Chuyển đổi phần ngun (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

10


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.

11


Một số ví dụ
 Nhị ph}n  Hexa: 11 1011 1110 0110.01101(2) = 3BE6.68(16)
 Hexa  Nhị ph}n: 3E8(16) = 11 1110 1000(2)
 Thập ph}n  Hexa:
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)

12


Chuyển đổi nhanh
 105 = 6x16 + 9 = 69(16)= 110 1001
 35 = 2x16 + 3 = 23(16) = 10 0011

13


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
14


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ự

15


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

16


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

17


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ự

18


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ý:

19


Độ 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

1GB = 210 MB = 220 KB = 230 Byte
4GB = 232 Byte

20



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.

21


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)
22



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.

23


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ự

24


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

25



×