Giáo trình Tin học - Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin
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ữ toà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
16 trang |
Chia sẻ: vutrong32 | Lượt xem: 1123 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Giáo trình Tin học - Chương 1: Hệ đếm – Mã hóa và lưu trữ thông tin, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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). Ngoà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ứ: 7 6 5 4 3 2 1 0
1 0 1 0 1 1 1 0
Bit có ý
nghĩa nhất
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ô nguyên so với cách dùng bảng mã
ASCII. Ngoà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.
1.3.2.
1.3.3.
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.
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).
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)
2. FORTRAN
3. C/C++
5. Java
6. Visual Basic
7. C#
8. PHP
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-1a1 ao = anbn + an-1bn-1a1b + 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 1 Nhớ 1 +
0 1
0 0 1 1 1 0 1 0
0 0 0 1 1 0 1 1 +
1 0 1
0 0 1 1 1 0 1 0
0 0 0 1 1 0 1 1 Nhớ 1 +
0 1 0 1
0 0 1 1 1 0 1 0
0 0 0 1 1 0 1 1 Nhớ 1 +
1 0 1 0 1
0 0 1 1 1 0 1 0
0 0 0 1 1 0 1 1 Nhớ 1 +
0 1 0 1 0 1
0 0 1 1 1 0 1 0
0 0 0 1 1 0 1 1 +
1 0 1 0 1 0 1
0 0 1 1 1 0 1 0
0 0 0 1 1 0 1 1 +
0 1 0 1 0 1 0 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
1111 7
1110 6
1101 5
1100 4
1011 3
1010 2
1001 1
1000 0
Mẫu bit Giá trị biểu diễn
0111 -1
0110 -2
0101 -3
0100 -4
0011 -5
0010 -6
0001 -7
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.
4.2.3.
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.
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
0111 7
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
1001 -7
1000 -8
Đạ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 0 0 1 +
1 1 0 1 1 Nhớ 1
1 0 1 0 0 + 1 Cộng thêm Nhớ 1
1 0 1 0 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 0 1 0
1 1 1 0 0 +
1 0 1 1 0 -10 ở bù 2 (bỏ nhớ 1)
4.2.5.
4.3.1.
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).
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 . 0 1 1 Biểu diễn của 2.375
1 0 0 . 1 1 Biểu diễn của 4.75 +
1 1 1 . 0 0 1 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 toá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 Sign
(bits)
Exponent
(bits)
Mantissa
(bits)
Total
(bits)
2 byte (half) 1 5 10 16
4 bytes (single) 1 8 23 32
8 bytes (double) 1 11 52 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 Exponent Mantissa
Zeroes 0 0
Denormal 0 Non zero
Normal 12e-2 Any
Infinities (không xác định) 2e-1 0
Not a Number 2e-1 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 Emin Emax
2 byte (half) -14 15
4 bytes (single) -126 127
8 bytes (double) -1022 1023
16 bytes (quadruple) -16382 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 +0
(positive zero)
1 00000000 00000000000000000000000 -0
(negative zero)
1 00000000 10000000000000000000000 -2
0-127
x0.(2
-1
)= -2
0-127
x 0.5
0 00000000 00000000000000000000001 +2
0-127
x0.(2
-23
)
(smallest value)
0 00000001 01000000000000000000000 +2
1-127
x1.(2
-2
)= +2
1-127
x1.25
0 10000001 00000000000000000000000 +2
129-127
x1.0= 4
0 11111111 00000000000000000000000 + infinity
1 11111111 00000000000000000000000 - infinity
0 11111111 10000000000000000000000 Not a Number(NaN)
1 11111111 10000100010000000001100 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 Rounded
3.4 3
5.6 6
3.5 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:
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
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
x
x
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 toá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ụ:
0 0 0 0 1 1 1 1
0 0 0 0 1 0 0 1 AND
0 0 0 0 1 0 1 0
Ta thấy dãy bit 0 của toán hạng thứ 1 không thay đổi và dãy 4 bit phải nhất của toán hạng
thứ 2 không thay đổi. Cách sử dụng phép toá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 toá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 toá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 toán hạng thứ 2.
Ngoài ra, phép toá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 toá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 toá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 toán hạng kia.
1 1 1 1 0 0 0 0
1 0 1 0 1 0 1 0 OR
0 0 0 0 1 0 1 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ụ:
1 1 1 1 1 1 1 1 XOR 1 0 1 0 1 0 1 0
0 1 0 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 toá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 toá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 toá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 toá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ữ toà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 16
a. 24 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
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 e. 68 f. – 68
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
Các file đính kèm theo tài liệu này:
- chuong1_4826.pdf