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

Chương 1: Hệ đếm - Mã hóa và lưu trữ thông tin

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 (511.17 KB, 16 trang )

MỤC LỤC

1

MỤC LỤC
MỤC LỤC..........................................................................................................................................1
Chương 1 - HỆ ĐẾM – MÃ HĨA VÀ LƯU TRỮ THƠNG TIN ................................................2
1. MÃ HĨA VÀ LƯU TRỮ THÔNG TIN ......................................................................................... 2
1.1. Cách tổ chức dữ liệu trong bộ nhớ chính.................................................................................. 2
1.2. Cách tổ chức một Byte.............................................................................................................. 2
1.3. Các kiểu dữ liệu ........................................................................................................................ 3
1.4. Các ngôn ngữ lập trình.............................................................................................................. 3
2. CÁC HỆ ĐẾM ................................................................................................................................. 3
2.1. Hệ nhị phân (cơ số 2)................................................................................................................ 3
2.2. Hệ bát phân (cơ số 8) ................................................................................................................ 4
2.3. Hệ thập phân (cơ số 10) ............................................................................................................ 4
2.4. Hệ thập lục phân (cơ số 16) ...................................................................................................... 4
3. CÁC QUI TẮC CHUYỂN ĐỔI MỘT SỐ GIỮA CÁC HỆ ĐẾM.................................................. 5
3.1. Qui tắc chung ............................................................................................................................ 5
3.2. Qui tắc chuyển đổi một số từ hệ 10 sang hệ cơ số b (b ≠10).................................................... 5
3.3. Qui tắc chuyển đổi một số từ hệ 2 sang hệ 16 .......................................................................... 5
3.4. Qui tắc chuyển đổi một số từ hệ 16 sang hệ nhị phân .............................................................. 5
4. CÁC PHÉP TOÁN TRÊN SỐ NHỊ PHÂN..................................................................................... 5
4.1. Cộng nhị phân ........................................................................................................................... 5
4.2. Cách lưu trữ số âm .................................................................................................................... 6
4.3. Cách lưu trữ số thực.................................................................................................................. 8
4.4. Các phép toán số học (arithmatic)/luận lý (logic)................................................................... 13
5. Bảng mã ASCII.............................................................................................................................. 15
6. Bài tập ............................................................................................................................................ 15

Đại học Y Dược Tp. HCM – Bộ môn Tin học



Tháng 10/2008


Chương 1: Hệ đếm – Mã hóa và lưu trữ thơng tin

2

Chương 1 - HỆ ĐẾM – MÃ HĨA VÀ LƯU
TRỮ THƠNG TIN
1. MÃ HĨA VÀ LƯU TRỮ THƠNG TIN
Lưu trữ thơng tin trên bộ nhớ (chính và phụ) dựa trên khả năng biểu diễn thông tin qua các bit
(đơn vị lưu trữ dữ liệu nhỏ nhất trong bộ nhớ).
1.1. Cách tổ chức dữ liệu trong bộ nhớ chính
Đơn vị lưu trữ nhỏ nhất trong bộ nhớ là bit (Binary ditgit). Bit có hai trạng thái: 0/False và
1/True. Thơng tin được biểu diễn thơng qua một nhóm bit (0 và 1), các thơng tin khác nhau sẽ có
dãy bit khác nhau. Thơng tin có thể là ký tự, số, hoặc dấu câu,…Tốc độ truyền dữ liệu được tính
dưới dạng số bit trên 1 giây.
1 Kbps = 103 bits per second (hay 103 bps).
1 Mbps = 106 bits per second.
Mỗi 8 bit gộp lại thành một nhóm nhỏ gọi là Byte (theo thứ tự từ phải qua trái).
Số lượng byte trong bộ nhớ ở mỗi máy tính là khác nhau. Kích thước bộ nhớ chính được đo
bằng đơn vị Mega Byte (MB). Ngồi ra, cịn có các đơn vị đo lường khác như sau:
1 KB = 1024 Byte = 210 Byte.
1 MB = 1024 KB = 220 Byte.
1 GB = 1024 MB = 230 Byte.
Tóm lại, bộ nhớ máy tính là chuỗi các byte được tạo từ các bit. Các byte bộ nhớ có thể truy
cập (access) hoặc cho phép đặt lại giá trị. Dữ liệu ở một byte là xác định tại một thời điểm, nghĩa
là nếu có yêu cầu thay đổi thơng tin thì thơng tin cũ sẽ bị mất. Thao tác lấy thông tin từ bộ nhớ
gọi là thao tác đọc dữ liệu (Read) và thao tác ghi thông tin lên bộ nhớ gọi là thao tác ghi dữ liệu

(Write).
Đối với các byte cho phép cả hai thao tác đọc – ghi (Read – Write) dữ liệu thì các byte này
nằm trong bộ nhớ RAM (Random Access Memory), dữ liệu lưu trữ ở các byte này sẽ bị mất khi
có sự cố mất điện. Với các byte chỉ cho thao tác đọc (Read) thì các byte này nằm trong bộ nhớ
ROM (Read Only Memory), các byte này chứa các dữ liệu do nhà sản xuất đưa vào.
1.2. Cách tổ chức một Byte
Một Byte có 8 bit được đánh số từ phải sang trái với các số từ 0 đến 7.
Bit thứ:
Bit có ý
nghĩa nhất

7

6

5

4

3

2

1

0

1

0


1

0

1

1

1

0

Bit ít có ý
nghĩa nhất

Bit thứ 7 gọi là bit cao (cực trái) và bit thứ 0 gọi là bit thấp (cực phải). Một Byte có thể lưu
trữ một số nguyên có giá trị trong khoảng từ 0 đến 255 (00000000 đến 11111111).
Như vậy, với 2 Byte có thể lưu trữ một số nguyên có giá trị từ 0 đến 65535. Sử dụng phương
pháp nhị phân để lưu trữ làm tăng hiệu quả lưu trữ các sơ ngun so với cách dùng bảng mã
ASCII. Ngồi ra, còn sử dụng hệ nhị phân để biểu diễn các số âm (dùng phương pháp bù 2), hoặc
dùng phương pháp dấu chấm động để biểu diễn số thập phân (số thực).
Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin

3


1.3. Các kiểu dữ liệu
1.3.1. Số nguyên (Integer)
Trong thế hệ máy 8086, số nguyên integer được lưu trữ trong 2 Byte (16-bit). Như vậy tối đa
có 216 = 65536 giá trị nguyên dương.
Để biểu diễn số nguyên âm, trong dãy 16-bit, chia thành hai vùng:
-

1 bit dùng làm bit dấu (cực trái).

-

15 bit còn lại là giá trị số (215=32 768 số).

Có nhiều phương pháp biểu diễn số âm trong máy tính. Thơng thường người ta dùng
phương pháp bù 2. Trong phương pháp này, phạm vi giá trị nguyên từ -32 768 đến +32
767.
1.3.2. Số thực (Real)
Số thực được biểu diễn dưới dạng dấu chấm tĩnh hoặc dấu chấm động.
Trong biểu diễn số thực dấu chấm động 4 Byte (32-bit), phạm vi số thực từ 10-38 đến10+38 (số
âm và dương).
1.3.3. Ký tự
Trong bảng qui ước ASCII, kích thước một ký tự là 1 Byte. Như vậy, bảng mã này có 256 ký
tự.
Trong bảng Unicode, kích thước một ký tự là 2 Byte, do đó bảng mã này có đến 65536 ký tự,
gồm nhiều bộ ký tự của các quốc gia.
1.4. Các ngơn ngữ lập trình
1. Hợp ngữ (Assembly)

6. Visual Basic


2. FORTRAN

7. C#

3. C/C++

8. PHP

5. Java

9. …

2. CÁC HỆ ĐẾM
2.1. Hệ nhị phân (cơ số 2)
Hệ nhị phân (hay còn gọi là Binary) biểu diễn giá trị dưới dạng dãy các bit 0 và 1. Ví dụ:
1011.
Các số biểu diễn ở hệ nhị phân là một dãy bit, ứng với mỗi vị trí bit được gán một trọng số đi
từ phải qua trái có giá trị từ 1,2,4,8,..Dựa theo qui luật: số sau bằng 2 lần số trước. Ví dụ dãy bit
100101 là biểu diễn nhị phân của 37.
100101 =

1x1 = 1
0x2 = 0
1x4 = 4
0x8 = 0
0x16 = 0
1x32 = 32

Giá trị tổng cộng = 37

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin

4

2.2. Hệ bát phân (cơ số 8)
Tên gọi trên máy tính là Octor.
Nhóm 3 bit lại với nhau (từ phải qua trái), ta được các số biểu diễn ở hệ 8 (23=8). Bảng
chuyển đổi giữa hệ 2 và hệ 8:
Hệ 2

Hệ 8

Hệ 2

Hệ 8

000

0

100

4

001


1

101

5

010

2

110

6

011

3

111

7

2.3. Hệ thập phân (cơ số 10)
Tên gọi trên máy tính là Decimal.
Các số cơ bản biểu diễn trong hệ cơ số 10 từ 0 đế 9. Ví dụ số 37.
2.4. Hệ thập lục phân (cơ số 16)
Tên gọi trên máy tính là Hexa.
Nhóm 4 bit lại với nhau (từ phải qua trái), ta được các số biểu diễn ở hệ 16 (24=16).
Các số biểu diễn trong hệ 16:

- Giá trị số: Từ 0 đến 9
- Ký tự: Từ A đến F.
Bảng chuyển đổi giữa hệ 2, 10, và 16:
Hệ 2

Hệ 10

Hệ 16

Hệ 2

Hệ 10

Hệ 16

0000

0

0

1000

8

8

0001

1


1

1001

9

9

0010

2

2

1010

10

A

0011

3

3

1011

11


B

0100

4

4

1100

12

C

0101

5

5

1101

13

D

0110

6


6

1110

14

E

0111

7

7

1111

15

F

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin

5


3. CÁC QUI TẮC CHUYỂN ĐỔI MỘT SỐ GIỮA CÁC HỆ ĐẾM
Các số cơ bản của một hệ đếm là các số tối thiểu để biểu diễn mọi số trong hệ đếm ấy.
3.1. Qui tắc chung
Nếu một số có giá trị lớn hơn các số cơ bản thì nó sẽ được biểu diễn bằng cách tổ hợp các
chữ số cơ bản theo công thức sau:
X= an an-1…a1 ao = anbn + an-1bn-1…a1b + ao (*)
Với b là cơ số của hệ đếm, an,an-1…,a1,ao là các chữ số cơ bản. X là số ở hệ đếm cơ số b.
3.2. Qui tắc chuyển đổi một số từ hệ 10 sang hệ cơ số b (b ≠10)
Lấy số thập phân chia cho cơ số b cho đến khi phần dương của phép chia bằng 0, số đổi được
sẽ là các phần dư của phép chia theo thứ tự ngược lại.
Ví dụ: cho X=610 nghĩa là X=6 trong hệ 10 sẽ được đổi thành 1102 trong hệ 2. Cách đổi như
sau:
6 chia 2 = 3, dư 0
3 chia 2 = 1, dư 1
1 chia 2 = 0, dư 1
Vậy kết quả là: 110.
Ngược lại, nếu muốn đổi một số từ cơ số b sang cơ số 10, ta sử dụng công thức (*). Ví dụ:
X=1102 thì X=1x22 +1x21 +0=6.
3.3. Qui tắc chuyển đổi một số từ hệ 2 sang hệ 16
Nhóm lần lượt 4 bit từ phải qua trái, sau đó thay thế các nhóm 4 bit bằng các giá trị tương
ứng với hệ thập lục phân (tra bảng). Ví dụ: X=11’10112=3B16.
3.4. Qui tắc chuyển đổi một số từ hệ 16 sang hệ nhị phân
Ứng với mỗi chữ số sẽ được biểu diễn dưới dạng 4 bit nhị phân.
Ví dụ: X=3B16=0011’10112=11’10112.
4. CÁC PHÉP TOÁN TRÊN SỐ NHỊ PHÂN
4.1. Cộng nhị phân
+

0


1

0

0

1

1

1

10

Khi cộng, thực hiện công từ phải qua trái, ứng với mỗi cột ta cộng 2 số theo qui tắc trên, nếu
có nhớ thì cộng nhớ sang cột kế bên.
Ví dụ: cộng hai dãy bit sau đây, dãy 1: 111010; dãy 2: 11011

+

0

0

1

1

1


0

1

0

0

0

0

1

1

0

1

1
1

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin


6

0

0

1

1

1

0

1

0

+

0

0

0

1

1


0

1
0

1
1

+

0
0

0
0

1
0

1
1

1
1

0
0
1

1

1
0

0
1
1

+

0
0

0
0

1
0

1
1

1
1
0

0
0
1

1

1
0

0
1
1

0

0

1

1

1

0

1

0

0

0

0

1

1

1
0

0
1

1
0

1
1

0

0

1

1

1

0

1

0


+

0

0

0
0

1
1

1
0

0
1

1
0

1
1

+

0
0

0

0
1

1
0
0

1
1
1

1
1
0

0
0
1

1
1
0

0
1
1

+

0

0
0

0
0
1

1
0
0

1
1
1

1
1
0

0
0
1

1
1
0

0
1
1


+

Nhớ 1

Nhớ 1

Nhớ 1

Nhớ 1

4.2. Cách lưu trữ số âm
4.2.1. Phương pháp dấu lượng (sign – magnitude)
Bit cực trái dùng làm bit dấu. Bit 1 là dấu dương (+), và bit 0 là dấu âm (-).
Ví dụ: với mẫu là 4 bit thì các số biểu diễn như sau:
Mẫu bit

Giá trị biểu diễn

Mẫu bit

Giá trị biểu diễn

1111

7

0111

-1


1110

6

0110

-2

1101

5

0101

-3

1100

4

0100

-4

1011

3

0011


-5

1010

2

0010

-6

1001

1

0001

-7

1000

0

0000

-8

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008



Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin

7

Để biểu diễn một số âm về dạng nhị phân có dấu với mẫu K bit thì lấy số cần biểu diễn cộng
thêm 2k-1, sau đó biểu diễn chúng về hệ nhị phân.
Ví dụ: Với số +5 trong mẫu 4 bit thì biểu diễn là 5 + 23 = 1310 sẽ là 1101.
Với số -5 trong mẫu 4 bit thì biểu diễn là -5 + 23 = 310 sẽ là 0011.
4.2.2. Biểu diễn số bù 1
Vẫn dùng bit cực trái làm bit dấu nhưng với qui định bit 0 cho số dương và bit 1 cho số âm.
Để biểu diễn số n theo dạng bù 1, ta áp dụng qui tắc biểu diễu dưới dạng nhị phân của trị
tuyệt đối n theo mẫu K bit cho trước. Nếu n<0, đổi 1 thành 0 và ngược lại.
Ví dụ:
Với n = 5 (mẫu 4 bit) biễu diễn theo phương pháp bù 1 là 0101.
n = -5 ______________________________________1010.
Với n = 6 _______________________________________0110.
n = -6 _______________________________________1001.
4.2.3. Biểu diễn số bù 2
Vẫn sử dụng bit cực trái làm bit dấu giống như bù 1, nhưng có một số khác biệt khi đổi sang
hệ nhị phân có dấu.
Biểu diễn dưới dạng nhị phân của trị tuyệt đối n theo mẫu K bit cho trước. Nếu n<0, bắt đầu
từ phải qua trái giữ nguyên các bit cho đến khi gặp bit có giá trị 1 đầu tiên, sau đó các bit tiếp
theo bên trái bit 1 đầu tiên đó đổi 1 thành 0 và ngược lại.
Ví dụ: Với n = -6, biểu diễn nhị phân trị tuyệt đối của n (theo mẫu 4 bit) là 0110, khi đó biểu
diễn số bù 2 của n là 1010.
Biểu diễn số bù 2 theo mẫu 4 bit
Mẫu bit


Giá trị biểu diễu

1001

-7

0111

7

1000

-8

0110

6

0101

5

0100

4

0011

3


0010

2

0001

1

0000

0

Mẫu bit

Giá trị biểu diễu

1111

-1

1110

-2

1101

-3

1100


-4

1011

-5

1010

-6

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 7– EndNote

8

Thực chất, số biểu diễn dưới dạng bù 2 là số biểu diễn ở dạng bù 1, sau đó cộng thêm 1.
4.2.4. Phép cộng số bù 1 và bù 2
4.2.4.1 Cộng số bù 1
Khi thực hiện phép toán cộng đối với số bù 1, làm tương tự như cộng nhị phân. Nếu ở hai
bit cực trái khi thực hiện phép cộng có phát sinh nhớ thì cộng nhớ vào kết quả.

Ví dụ: thực hiện cộng m = - 6 biểu diễn bù 1 (mẫu 5 bit) là 11001, và
n = - 4 biểu diễn bù 1 (mẫu 5 bit) là 11011.
+
+


1
1
1

1
1
0

0
0
1

0
1
0

1

0

1

0

1
1
0
1
1


Nhớ 1
Cộng thêm Nhớ 1
-10 ở bù 1

4.2.4.2 Cộng số bù 2
Khi thực hiện phép toán cộng đối với số bù 2, làm tương tự như cộng nhị phân. Nếu ở hai
bit cực trái khi thực hiện phép cộng có phát sinh nhớ thì bỏ nhớ.
Ví dụ:
Thực hiện cộng m = - 6 biểu diễn bù 2 (mẫu 5 bit) là 11010, và
n = - 4 biểu diễn bù 1 (mẫu 5 bit) là 11100.
+

1
1
1

1
1
0

0
1
1

1
0
1

0
0

0

-10 ở bù 2 (bỏ nhớ 1)

4.2.5. Tràn số
Hiện tượng tràn số xảy ra khi số cần biểu diễn vượt quá số bit cho trước.
Ví dụ:
Thực hiện phép cộng m = -6 và n = -4 ( bù 1 theo mẫu 4 bit). Kết quả phép cộng ở dạng bù
1 là 0110 là biểu biễn của +6 Ỉ kết quả sai!!!.
Để tránh trường hợp lỗi tràn số, ta tăng số bit biểu diễn lên. Tổng quát, số ở dạng bù 1 và 2,
giá trị dương lớn nhất khi dùng mẫu n bit là: 2n-1-1 và giá trị âm nhỏ nhất là -2n-1.
4.3. Cách lưu trữ số thực
Khác với số nguyên, số thực không chỉ đơn thuần biểu diễn ở dạng nhị phân 0 và 1 và còn
dựa vào dấu chấm cơ số, thường gọi là biểu diễn dấu chấm động (floating point notation).
4.3.1. Biểu diễn số thực dùng dấu chấm tĩnh (Fixed-point)
Để biểu diễn hỗn số bằng hệ nhị phân ta dùng dấu chấm cơ số (radix point). Số bên trái dấu
chấm cơ số biểu diễn nhị phân của phần nguyên của số thực và bên phải là biểu diễn nhị phân
của phần dư (phân số), vị trí bit bên phải đầu tiên sau dấu chấm là biểu diễn cho số
1/2,1/4,1/8,…Với qui luật số sau nhỏ hơn 2 lần số trước. Các giá trị này gọi là trọng số của bit
tương ứng với vị trí tính từ vị trí đầu tiên bên phải của dấu chấm cơ số.

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 7– EndNote

9


Để biến đổi số thực ở hệ 2 phân sang hệ 10, thực hiện đổi phần nguyên và phần dư (phân
số) sang hệ thập phân, nhưng chú ý số nhị phân bên phải dấu chấm sẽ có trọng số bắt đầu từ ½
và giảm một nữa từ trái sang phải.
Ví dụ:
Cho số thực 5.625, biểu diễn nhị phân là 101.101. Cách tính như sau:
Phần nguyên là 5, biểu diễn nhị phân là 101 (tra bảng).
Phần dư (phân số là 5/8):
0.625 chia ½ (nhân 2) = 1.25
0.25 chia ½

= 0.5

0.5 chia ½

=1

Do đó, biểu diễn nhị phân của 0.625 là 101.
Trong trường hợp ngược lại, muốn chuyển phần dư từ hệ 10 sang hệ 2 thì nhân thêm ½.
4.3.2. Cộng nhị phân trên số thực
Cộng nhị phân trên số thực cũng giống như cộng nhị phân trên số nguyên, nhưng chú ý là
dấu chấm cơ số phải sắp thẳng hàng cho hai số.
Ví dụ:
+

1
0
1

1
1


0
0
1

.
.
.

0
1
0

1
1
0

1
1

Biểu diễn của 2.375
Biểu diễn của 4.75
Biểu diễn của 7.125

4.3.3. Phương pháp biểu diễn dấu chấm động (Floating-point)
Để biểu diễn số thực dưới dạng dấu chấm động, sử dụng các khái niệm:
-

Bit dấu (Sign): 0 (dương); 1(âm).


-

Phần mũ (Expnent).

-

Phần định trị (Mantissa).

nb = be.m, trong đó:

b: cơ số
e: phần mũ
m: phần định trị

Ví dụ: n=17
17 = 101x1.7
Phương pháp này sử dụng chuẩn IEEE tích hợp sẳn trong các thế hệ máy tính sử dụng chip
Intel (Pentium) hiện nay. Chuẩn IEEE (Institude of Electical and Electronics Engineers) dành
riêng cho biểu diễn và tính tốn trên số thực.
Dựa vào số bit biểu diễn, chuẩn IEEE phân thành 4 mức cơ bản sau:
Presision
2 byte (half)
4 bytes (single)
8 bytes (double)

Sign
(bits)
1
1
1


Exponent
(bits)
5
8
11

Mantissa
(bits)
10
23
52

Total
(bits)
16
32
64

4.3.3.1 Phương pháp chung
Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 7– EndNote

10

Miền giá trị của e bits mũ: -2e-1 ≤ E ≤ 2e-1-1.

Một số trường hợp đặc biệt:
Type
Zeroes
Denormal
Normal
Infinities (không xác định)
Not a Number

Exponent
0
0
1…2e-2
2e-1
2e-1

Mantissa
0
Non zero
Any
0
Non zero

Mỗi miền giá trị bỏ đi 2 giá trị: Infinities và NaN. Do đó, ta có bảng tương ứng 4 mức biểu
diễn như sau:
Presision
2 byte (half)
4 bytes (single)
8 bytes (double)
16 bytes (quadruple)


Emin
-14
-126
-1022
-16382

Emax
15
127
1023
16383

4.3.3.2 Dùng 32-bits

Biểu diễn giá trị:
v = s x 2e x m, trong đó:

s = +1 khi bit dấu (S) là 0.
s = -1 khi bit dấu (S) là 1.
e = Exp – 127 (Exp là giá trị thập phân của 8 bit mũ).
m =1. (1 ≤ m < 2).

Ví dụ: biểu diễn nhị phân n=-118.625 (dùng chuẩn IEEE 754).
1. Biểu diễn n sang nhị phân dùng dấu chấm tĩnh (Fixed-point): 1110110.101
2. Di chuyển dấu chấm cơ số đến sau bit đầu tiên: 1.110110101 x 26.
3. Điền bit 0 vào sau dãy sao cho đủ 23 bit (tính từ sau dấu chấm cơ số):
11011010100000000000000.

Đại học Y Dược Tp. HCM – Bộ môn Tin học


Tháng 10/2008


Chương 7– EndNote

11

4. Ta xác định được số mũ e = 6. Theo công thức: Exp = 127+6 = 133. Chuyển 133 sang hệ
nhị phân sẽ là: 10000101.
Một số giá trị đặc biệt
Sign
(S)

Exponent
(e)

Mantissa
(m)

Value

0

00000000

00000000000000000000000

1

00000000


00000000000000000000000

+0
(positive zero)
-0
(negative zero)

1

00000000

10000000000000000000000

0

00000000

00000000000000000000001

0

00000001

01000000000000000000000

0

10000001


00000000000000000000000

0
1
0
1

11111111
11111111
11111111
11111111

00000000000000000000000
00000000000000000000000
10000000000000000000000
10000100010000000001100

0-127

-2

-1

0-127

x0.(2 )= -2
0-127

-23


x 0.5

+2
x0.(2 )
(smallest value)
1-127

+2

-2

1-127

x1.(2 )= +2

+2

129-127

x1.25

x1.0= 4
+ infinity
- infinity
Not a Number(NaN)
Not a Number(NaN)

Lưu ý, vấn đề khi biểu diễn số thực là làm tròn số. Do đó, ta dùng phương pháp làm trịn
giá trị gần số chẳn nhất. Ví dụ:
Unrounded

3.4
5.6
3.5

Rounded
3
6
4

2.5

2

4.3.3.3 Cộng (trừ) hai số thực
Ví dụ: Cộng hai số thực dưới dạng dấu chấm động sau:
+

m = 24 x 1.1001
n = 22 x 1.0010

Bước 1: lấy hiệu của số mũ.
Em = 24 (em = 4); En = 22 (en = 2)
Ỵ Em-n = 24-2 = 22 (em-n = 2)
Bước 2: Di chuyển dấu chấm cơ số sang phải em-n vị trí. Ta được:
+

1.1001 000
0.0100 100

Bước 3: Cộng hai số lại với nhau:

+

1.1001 000
0.0100 100
1.1101 100

Bước 4: Làm tròn kết quả cộng ở bước 3: 1.1101 Ỉ 1.1110
Bước 5: Kết quả 24 x 1.1110
Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 7– EndNote

12

4.3.3.4 Nhân hai số thực
Ví dụ: Nhân hai số thực dưới dạng dấu chấm động sau:
x

m = 2100 x 1.1001
n = 2110 x 1.0010

Bước 1: Nhân phần định trị của hai số lại với nhau
x

1.1001
1.0010
1.11000010


Ỉ Phần định trị: Fracmxn = 1.11000010
Ỉ Phần số mũ: Emxn = 2100+110-Emax = 283
Bước 2: Làm tròn kết quả của bước1: Phần định trị là 1.1100
Bước 3: Kết quả là 283 x 1.1100
4.3.3.5 Chia hai số thực
Ví dụ: Chia hai số thực dưới dạng dấu chấm động sau:
÷

m = 2110 x 1.0000
n = 2100 x 0.0011

Bước 1: Đếm số bit 0 đứng trước dãy
zm = 0
zn = 3
Bước 2:
Dịch chuyển phần định trị 2 dãy bit m,n sang trái (shift – left) zm, zn lần.

-

Fracm = 10000 00000
Fracn = 00000 11000
Tính số mũ: Em+n = 2110-100+Emax-zm+zn = 2140

-

Bước 3: Chia phần định trị của m,n
÷

100000,0000

000001,1000
1,0101

Bước 4: Kết quả là 1,0101 x 2140

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 7– EndNote

13

4.4. Các phép toán số học (arithmatic)/luận lý (logic)
4.4.1. Các phép toán luận lý
Tập các lệnh số học/luận lý bao gồm các phép toán số học, luận lý hoặc phép toán dịch bit
(shift), quay (rotate). Trên thực tế, máy tính thao tác trên các chuỗi ký tự.
4.4.1.1 AND
Thực hiện phép toán AND trên từng bit từ phải qua trái.
AND
0
1

0
0
0

1
0

1

Một trong những tác dụng chính của phép tốn AND là để kiểm tra bit 1 hay 0. Ta nhận
thấy đặc điểm của phép toán AND là thành phần 0 trong một dãy bit không bị ảnh hưởng bởi
các thành phần khác. Ví dụ:

AND

0
0
0

0
0
0

0
0
0

0
0
0

1
1
1

1
0

0

1
0
1

1
1
0

Ta thấy dãy bit 0 của tốn hạng thứ 1 không thay đổi và dãy 4 bit phải nhất của tốn hạng
thứ 2 khơng thay đổi. Cách sử dụng phép tốn AND trong ví dụ trên gọi là cách sử dụng mặt
nạ (masking). Toán hạng đầu được gọi là mặt nạ, nó được sử dụng để xác định phần của tốn
hạng cịn lại sẽ ảnh hưởng đến kết quả. Trong trường hợp này, mặt nạ được sử dụng để cho ra
kết quả là mỗi phần 4 bit của tốn hãng trong đó các số 0 với 4 bit đầu của toán hạng thứ nhất
và 4 bit sau của tốn hạng thứ 2.
Ngồi ra, phép tốn AND cịn được dùng để chép lại một phần của dãy bit, và thêm vào 0 ở
phần không chép lại.
4.4.1.2 OR
OR
0
1

0
0
1

1
1
1


Tương tự như phép toán AND, phép toán OR được dùng để chép lại một phần của dãy bit,
và thêm vào 1 ở phần khơng chép lại. Phép tốn OR cũng sử dụng mặt nạ để xác định vị trí bit
được chép lại 0 và sử dụng bit 1 để chỉ các vị trí khơng được chép lại.
Ví dụ: thực hiện phép tốn OR với dãy bit 11110000 sao cho có được kết quả với các số 1
ở 4 bit cao và các bit cịn lại là 4 bit thấp của tốn hạng kia.

OR

1
1
0

1
0
0

1
1
0

1
0
0

0
1
1

0

0
0

0
1
1

0
0
0

4.4.1.3 XOR
XOR
0
1

0
0
1

1
1
0

Sử dụng phép toán này để lấy phần bù của một chuỗi bit.

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008



Chương 7– EndNote

14

Ví dụ:

XOR

1
1
0

1
0
1

1
1
0

1
0
1

1
1
0

1

0
1

1
1
0

1
0
1

4.4.1.4 Dịch bit (shift) và quay (rotation)
Các phép toán dịch bit và quay để giải quyết các bài tốn thực hiện trên bit. Ví dụ biến đổi
một byte theo một yêu cầu nào đó bằng cách sử dụng mặt nạ, hoặc thao tác trên phần định trị
của các số biểu diễn ở dạng dấu chấm động. Phép toán dịch bit và quay theo hai hướng trái
hoặc phải.
1. Dịch bit
Nếu một byte 8 bit khi thực hiện phép tốn dịch bit sang trái hay phải thì bit đầu tiên của
byte (bit cao nhất nếu dịch phải, bit thấp nhất nếu dịch trái) sẽ bị dịch chuyển, và bit cuối (bit
thấp nhất nếu dịch phải, bit cao nhất nếu dịch trái) sẽ được đặt là 0.
Ví dụ: dãy bit giá trị của một byte là 10001110, khi dịch trái một lần sẽ là 00011100, và khi
dịch phải một lần thì kết quả là 01000111.
Phép tốn dịch bit được sử dụng cho các phép nhân hay chia cho 2, dịch trái là nhân cho 2,
dịch phải là chia cho 2.
2. Quay
Đối với phép toán quay, cũng giống như dịch bit nhưng bit cuối sẽ được chuyển vào bit đầu
tiên.
Ví dụ: dãy bit giá trị là 10001110, khi quay trái một lần thì kết quả là 00011101, và khi
quay phải một lần thì kết quả là 01000111.
4.4.2. Các phép tốn số học

Các phép toán số học (cộng, trừ, nhân, chia) được thực hiện dựa trên các phép toán cơ bản là
phép cộng và tạo ra số âm. Ví dụ, trường hợp cộng giá trị biểu diễn của số bù 2 thì đó là phép
cộng nhị phân. Phép cộng các số biểu diễn bằng dấu chấm động thì phép cộng thực hiện ở phần
định trị, sau đó dịch trái hay phải phần mũ và kiểm tra bit dấu để cuối cùng tạo ra kết quả ở dạng
dấu chấm động.

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008


Chương 7– EndNote

15

5. Bảng mã ASCII

Là chuẩn mã hóa một byte ký tự sang dạng chuỗi và ngược lại. ASCII kết hợp số 7-bit hoặc
8-bit để biểu diễn chuỗi 128 hoặc 256 ký tự. Chuẩn ASCII sử dụng 7-bit để biểu diễn các ký tự
chữ hoa và chữ thường, các số từ 0 đến 9, các dấu câu, và các ký tự điều khiển đặc biệt. Hầu hết
các hệ thống máy tính x86 đều hỗ trợ sử dụng bảng mã ASCII mở rộng. Bảng mã ASCII mở
rộng cho phép biểu diễn các ký tự đặc biệt như biểu tượng, các ký tự 32-bit của ngôn ngữ khác,
các ký hiệu đồ họa.
6. Bài tập
1. Cho biết biểu diễn nhị phân của các số ở hệ thập lục phân sau:
a. BC

b. 67

c. 10


e. 3F

2. Cho biết bit cực trái trong biểu diễn nhị phân của các số trong hệ thập lục phân là gì?
a. FF

b. 7F

c. 8F

e. 1F

3. Biểu diễn các dãy bit sau về hệ thập lục phân:
a. 101010101010

b. 110010110111

c. 000011101011

4. Cho một màn hình có thể hiển thị được 24 dịng, ứng với mỗi dịng có 80 ký tự. Nếu một điểm
trên màn hình được lưu trữ trong bộ nhớ bằng một byte cho mã ASCII của ký tự tại điểm đó,
thì có bao nhiêu byte để lưu trữ tồn bộ các điểm trên màn hình?
5. Biến đổi các dãy bit sau về hệ thập lục phân tương ứng:
a. 111

b. 0001

c. 11101

d. 10001


e. 10111

f. 00000

g. 100

h. 1000

i. 10000

j. 11001

k. 11010

l. 11011

6. Biến đổi các số ở hệ thập phân sau về hệ nhị phân tương ứng:
a. 7

b. 12

c. 16

d. 15

e. 33

7. Biến đổi các số biểu diễn ở hệ thập phân sau về hệ bát phân tương ứng:
Đại học Y Dược Tp. HCM – Bộ môn Tin học


Tháng 10/2008


Chương 7– EndNote
a. 24

16
b. 243

c. 57

d. 81

e. 94

8. Biến đổi các số biểu diễn ở hệ bát phân sau sang hệ thập phân tương ứng:
a. 120

b. 43

c. 55

d. 12

e. 76

9. Biến đổi các số biểu diễn ở hệ cơ số 10 sau sang hệ cơ số 3 tương ứng:
a. 31


b. 99

c. 56

d. 98

e. 4

10. Biến đổi các số biểu diễn ở hệ cơ số 3 sau sang hệ cơ số 10 tương ứng:
a. 1011

b. 10200

c. 1112

d. 1102

e. 11

11. Biến đổi các số biểu diễn ở hệ cơ số 8 sau sang hệ cơ số 3 tương ứng:
a. 120

b. 43

c. 55

e. 12

75


12. Biến đổi các số ở dạng dấu lượng về hệ thập phân tương ứng:
a. 100001

b. 10011

c. 01101

d. 01111

e. 10111

13. Biến đổi các số ở hệ thập phân sau về dạng bù 1 với mẩu 4 bit tương ứng:
a. 0

b. 3

c. -3

d. -1

e. 1

14. Biến đổi các số ở dạng bù 2 về hệ thập phân tương ứng:
a. 1000

b. 10011

c. 01101

d. 01111


e. 10111

15. Biến đổi các số ở hệ thập phân sau về dạng bù 2 với mẩu 7 bit tương ứng:
a. 12

b. -12

c. -1

d. 0

e. 8

16. Từ bảng mã ASCII, hãy cho biết biểu diễn ở hệ 8, 10, và 16 của các kí tự sau:
a. *

b. !

c. %

d. @

e. +

17. Dùng phương pháp biểu diễn dấu chấm tĩnh, biểu diễn nhị phân các số thực sau:
a. 21

b. – 21


c. 45

d. – 45

e. 68

f. – 68

e. 68

f. – 68

18. Dùng dấu chấm động, biểu diễn nhị phân các số thực sau:
a. 21

b. – 21

c. 45

d. – 45

19. Từ kết quả câu 18, thực hiện cộng (dưới dạng dấu chấm động) các phép toán sau:
a. a + c

b. d + e

c. e : c

d. a x b


e. d – b

20. Đối với phương pháp biểu diễn dấu chấm động, ngoài chuẩn IEEE 754 cịn chuẩn nào khác
khơng? Hãy liệt kê nếu có. Các chuẩn IEEE x có phụ thuộc vào thế hệ máy tính khơng? Hãy
cho biết tên chuẩn tương ứng với thế hệ máy tính nếu có.

Đại học Y Dược Tp. HCM – Bộ môn Tin học

Tháng 10/2008



×