Các phương pháp biểu diễn thông tin HỆ NHỊ PHÂN BINARY + Hệ nhị phân sử dụng 2 chữ số 0,1 để biểu diễn số... Các phương pháp biểu diễn thông tin HỆ NHỊ PHÂN BINARY - Mỗi con số nhị phâ
Trang 1Các phương pháp biểu diễn thông tin
HỆ THẬP PHÂN (DECIMAL)
+ 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 10 n giá trị khác nhau:
+ Giả sử một số A được biểu diễn dưới dạng:
Trang 2Các phương pháp biểu diễn thông tin
MỞ RỘNG HỆ CƠ SỐ R (R>1)
+ Hệ cơ số r sử dụng r chữ số 0,1 … ,r-1 để biểu diễn số
+ Giả sử một số A được biểu diễn dưới dạng:
A=A n-1 A n-2 … A 1 A 0 A -1 A -2 … A -m
Giá trị của A được hiểu như sau:
A=A n-1 r n-1 + A n-2 r n-2 +… A 1 r 1 + A 0 r 0 +A- 1 r- 1 + … + A -m r -m
Trang 3Các phương pháp biểu diễn thông tin
MỞ RỘNG HỆ CƠ SỐ R (R>1)
Ví dụ: Tìm hệ cơ số r của các số trong phương trình bậc 2 sau sao cho thỏa mãn với x=5 và x=8:
x 2 - 10x + 31 = 0 Giải pháp:
Trang 4Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
+ Hệ nhị phân sử dụng 2 chữ số 0,1 để biểu diễn số
+ Dùng 2 chữ số thập phân có thể biểu diễn 2 n giá trị khác
Những phương thức ký hiệu thường được dùng có thể liệt kê
ở dưới đây:
+ 100101b (chữ b nối tiếp ám chỉ phân dạng hệ số nhị phân - lấy chữ đầu của binary trong tiếng Anh, tức là "nhị phân") + 100101 2 (ký hiệu viết nhỏ phía dưới ám chỉ gốc nhị phân)
Trang 5Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
- Mỗi con số nhị phân được gọi là một bit (BInary digiT)
- Bit ngoài cùng bên trái là bit có trọng số lớn nhất (MSB,
Most Significant Bit)
- Bit ngoài cùng bên phải là bit có trọng số nhỏ nhất (LSB,
Least Significant Bit)
MSB 1 0 1 0 1 1 LSB
Trang 6Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
* Biến đổi từ thập phân sang nhị phân
- Bước 1: Chia số này với 2
- Bước 2: Số dư được viết xuống vào hàng (đơn vị) của nó
- Bước 3: Kết quả >0 Thực hiện bước 1, Ngược lại dừng
- Lược trình các con số dư theo thứ tự từ dưới lên trên
Ví dụ, (118) 10 , đổi sang
hệ nhị phân như sau:
Số bị chia
Số chia Kết quả Số dư
Trang 7Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
* Biến đổi từ nhị phân thành thập phân (Cách 1)
- Bước 1: Bắt đầu từ bên trái, nhân đôi kết quả, rồi cộng
con số bên cạnh
- Bước 2: Bỏ con số đã dùng ở bước 1
- Bước 3: Kiểm tra còn số nào không? Nếu còn, quay lại
Số bên cạnh Kết quả
Số còn lại
Trang 8Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
* Biến đổi từ nhị phân thành thập phân (Cách 2)
Sử dụng quy tắc biểu diễn số :
Giả sử một số A được biểu diễn dưới dạng:
Trang 9Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
Các phép toán trên hệ nhị phân
1 + 1 = 10 (nhớ 1 lên hàng thứ 2)
Khi tổng số vượt lên trên gốc của hệ số, phương thức làm là
"nhớ" một sang vị trí bên trái, thêm một hàng
Trang 10Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
Các phép toán trên hệ nhị phân
1 + 1 = 10 (viết 0, nhớ 1)
1 + 1 = 10 + 1 (nhớ) = 11 (viết 1 nhớ 1)
Trang 11Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
Các phép toán trên hệ nhị phân
= 1 0 1 0 1 1 1
Trang 12Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
Các phép toán trên hệ nhị phân
* Phép nhân:
Vì chỉ có 2 con số trong hệ nhị phân, nên chỉ có 2 kết quả khả quan trong tích cục bộ:
* Nếu con số trong B là 0, tích cục bộ sẽ là 0
* Nếu con số trong B là 1, tích cục bộ sẽ là số ở trong A
Phép nhân nhị phân
Trang 13Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
Các phép toán trên hệ nhị phân
* Phép nhân:
Ví dụ: (1011) 2 x (1010) 2
1 0 1 1 (A) × 1 0 1 0 (B) -
0 0 0 0 # tương đương với 0 trong B + 1 0 1 1 # tương đương với 1 trong A + 0 0 0 0
+ 1 0 1 1 - = 1 1 0 1 1 1 0
Trang 14Các phương pháp biểu diễn thông tin
HỆ NHỊ PHÂN (BINARY)
Các phép toán trên hệ nhị phân
Trang 15Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
Các hệ máy tính hiện đại
thường dùng một hệ đếm khác
là hệ thập lục phân.
Hệ thập lục phân là hệ đếm
dựa vào vị trí với cơ số là 16
Hệ này dùng các con số từ 0
đến 9 và các ký tự từ A đến F
như trong bảng sau:
Thập lục phân Thập phân Nhị phân
gọn lại cho hệ nhị phân
Trang 16Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Biến đổi thập lục phân thành thập phân
Các số thập lục phân có thể được biến đổi thành thập phân bằng cách tính tổng của các con số nhân với giá trị
vị trí của nó phân
Trang 17Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Biến đổi thập phân thành thập lục phân
- Bước 1: Chia số này với 16
- Bước 2: Số dư được viết xuống vào hàng (đơn vị)
- Bước 3: Thương số >0 Bước 1
- Bước 4: Lược trình các con số dư theo thứ tự từ dưới lên
Số chia Kết quả Số dư
Trang 18Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Biến đổi thập lục phân thành nhị phân
Thay thế từng con số thập lục phân bằng bốn bit nhị phân tương đương
Ví dụ: Đổi số thập lục (DF6) 16 thành nhị phân
Trang 19Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Biến đổi nhị phân thành thập lục phân
Gộp lại thành từng nhóm gồm 4 bit nhị phân, bắt đầu từ dấu chấm nhị phân
Ví dụ: Biến đổi số nhị phân (1111101000010000) 2 thành thập lục phân
1111 1010 0001 0000
4 bit nhị phân
F A 1 0
(1111101000010000) 2 = (FA10) 16
Trang 20Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Các phép toán trên hệ thập lục phân
Trang 21Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Các phép toán trên hệ thập lục phân
Trang 22Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Các phép toán trên hệ thập lục phân
Ví dụ 1: Cộng 2 số thập lục phân 123 16 và DEF 16
Từ bảng đối chiếu dành cho phép cộng, ta thấy:
3+F=12, 2+E=10, and 1+D=E
1 2 3 + D E F
123 16 + DEF 16 = F12 16
Trang 23Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Các phép toán trên hệ thập lục phân
Ví dụ 2: Nhân 2 số thập lục phân 123 16 và DEF 16
Bước 1: Tách rời phép toán về đơn vị nhỏ nhất
123 * DEF = 123 * (D00 + E0 + F) = (123 * D) * 100 + (123 * E) * 10 + (123 * F)
Bước 2: Tiến hành nhân lần lượt từng phép toán dựa trên bảng cửu chương hệ thập lục phân:
Trang 24Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Các phép toán trên hệ thập lục phân
Ví dụ 2: Nhân 2 số thập lục phân 123 16 và DEF 16
Tương tự ta có:
* Với 123 * E = (100 + 20 + 3) * E = 1*E*100 + 2*E*10 + 3*E = E*100 + 1C*10 + 2A = E00 + 1C0 + 2A = FEA
Với 123 * F = (100 + 20 + 3) * F = 1*F*100 + 2*F*10 + 3*F = F*100 + 1E*10 + 2D = F00 + 1E0 + 2D = 110D
Trang 25Các phương pháp biểu diễn thông tin
HỆ THẬP LỤC PHÂN (HEXADECIMAL)
* Các phép toán trên hệ thập lục phân
Ví dụ 2: Nhân 2 số thập lục phân 123 16 và DEF 16
Bước 3: Cộng tất cả các giá trị đã tính toán:
123 * DEF = (123 * D) * 100 + (123 * E) * 10 + (123 * F)
= EC7 * 100 + FEA * 10 + 110D
= EC700 + FEA0 + 110D
= FD6AD
Trang 26Các phương pháp biểu diễn thông tin
Biểu diễn số nguyên có dấu
- Trong toán học, các số âm được biểu diễn bằng cách đặt trước số dương dấu “-" (trừ)
- Trong máy tính, khi mọi ký hiệu, con số, đều được biểu diễn dưới hệ nhị phân thông qua hai chữ số 0 và 1 thì mọi chuyện lại trở nên phức tạp hơn
Bốn phương pháp chủ yếu nhất:
- Dấu lượng (sign-and-magnitude)
- Bù 1
- Bù 2
- Số quá N (excess-N)
Trang 27Các phương pháp biểu diễn thông tin
Phương pháp dấu lượng:
- Dùng bit cực trái làm bit dấu (sign bit):
Bit dấu là 0 thì số là số dương Bit dấu là 1 thì số là số âm
- Các bit còn lại biểu diễn độ lớn của số
0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 1
(+5)
(-5)
Trang 28Các phương pháp biểu diễn thông tin
Phương pháp Bù 1
+ Phương pháp bù 1 biểu diễn số âm theo cách sau:
* Thứ nhất, bit dấu là 0 nếu số là số dương, và 1 nếu số là số âm
* Thứ hai, sử dụng toán tử thao tác bit (bitwise) NOT để đảo tất cả các bit của số nhị phân dương (dĩ nhiên không tính bit dấu) để biểu diễn số âm tương ứng
0 0 0 0 0 1 0 1 (+5)
1 1 1 1 1 0 1 0 (-5)
Trang 29Các phương pháp biểu diễn thông tin
Phương pháp Bù 1
+ Phép cộng với số bù 1:
Khi thực hiện phép tính cộng với số âm biểu diễn theo phương pháp bù 1:
- Thực hiện như phép cộng nhị phân bình thường
- Trong trường hợp khi đã thực hiện phép cộng đến bit
cực trái mà vẫn phát sinh bit nhớ thì cộng tiếp bit nhớ này vào kết quả vừa nhận được
Trang 30Các phương pháp biểu diễn thông tin
Phương pháp Bù 1
+ Phép cộng với số bù 1:
Ví dụ 1:
Cộng hai số thập phân -5 với 2 (mẫu 8 bit):
1111 1010 (số bù 1 của -5) + 0000 0010 (số 2 ở hệ nhị phân) -
1111 1100
Trang 31Các phương pháp biểu diễn thông tin
Phương pháp Bù 1
+ Phép cộng với số bù 1:
Ví dụ 2:
Cộng hai số thập phân -5 với -7 (mẫu 8 bit):
1111 1010 (số bù 1 của -5) + 1111 1000 (số bù 1 của -7)
===========
1111 0010 (còn nhớ 1) + 1 (cộng với bit nhớ)
===========
1111 0011
Trang 32Các phương pháp biểu diễn thông tin
Phương pháp Bù 1
+ Tràn số:
Xét trường hợp ta đang có hai số âm -5 và -6 ở hệ thập phân Biểu diễn nhị phân bằng phương pháp bù 1 với mẫu 4 bit của hai số trên lần lượt là 1010 và 0110 Giả sử, bây giờ, ta cần cộng hai số này
Ta thực hiện phép cộng:
1010 (số bù 1 của -5)
+ 1001 (số bù 1 của -6)
Kết quả nhận được là 0100
Nếu đổi ra hệ thập phân, đây là số +4 chứ không phải -11
Vấn đề như trên được gọi là tràn số Nó xảy ra khi ta lấy số lượng bit để biểu diễn quá ít (như trong ví dụ trên là mẫu 4 bit)
Trang 33Các phương pháp biểu diễn thông tin
Phương pháp Bù 2:
Bù 2 (tiếng Anh: two's complement) là một số trong hệ nhị phân là bù đúng (true complement) của một số khác
Một số bù 2 có được do đảo tất cả các bit có trong số nhị phân (đổi 1 thành 0 và ngược lại) rồi thêm 1 vào kết quả vừa đạt được
Thực chất, số biểu diễn ở dạng bù 2 là số biểu diễn ở bù 1 rồi sau đó cộng thêm 1
Trang 34Các phương pháp biểu diễn thông tin
Phương pháp Bù 2:
Ví dụ: số nguyên -5 ở hệ thập phân được biểu diễn trong máy tính theo phương pháp bù 2 như sau (với mẫu 8 bit):
* Bước 1: xác định số nguyên 5 ở hệ thập phân được biểu diễn trong máy tính là: 0000 0101
* Bước 2: đảo tất cả các bit nhận được ở bước 1
Trang 35Các phương pháp biểu diễn thông tin
Phương pháp Bù 2:
Cách 2:
- Bước 1: Bắt đầu tìm từ phải sang trái cho đến khi gặp
bit đầu tiên có giá trị 1
- Bước 2: Khi gặp được bit 1, đảo tất cả các bit từ ngay kề
trước nó (tức trước bit có giá trị 1 vừa nói tới) cho đến bit cực trái
Trang 36Các phương pháp biểu diễn thông tin
Phương pháp Bù 2:
Ví dụ: Ta cũng biểu diễn lại số nguyên -5 ở hệ thập phân sang hệ nhị phân theo quy tắc mới này (giả sử với mẫu 8 bit):
* Bước 1: xác định số nguyên 5 ở hệ thập phân được biểu diễn trong máy tính là: 0000 0101
* Bước 2: Bit đầu tiên có giá trị 1 bit thứ nhất
* Bước 3: đảo tất cả các bit nằm trước bit thu được ở bước
2 1111 1011
Vậy số -5 ở hệ thập phân được biểu diễn trong máy tính theo phương pháp bù 2 là: 1111 1011
Trang 37Các phương pháp biểu diễn thông tin
Phương pháp Bù 2:
* Phép cộng với số bù 2
- Thực hiện như phép cộng nhị phân bình thường
- Trường hợp khi đã thực hiện phép cộng đến bit cực trái
mà vẫn phát sinh bit nhớ thì ta bỏ bit nhớ này đi
Ví dụ:
Cộng hai số thập phân -5 với -7 (mẫu 8 bit):
1111 1011 (số bù 2 của -5)
+ 1111 1001 (số bù 2 của -7)
===========
1111 0100 (số bù 2 của -12)
Trang 38Các phương pháp biểu diễn thông tin
- Còn được gọi là biểu diễn số dịch (biased representation)
- Sử dụng một số nguyên N cho trước làm giá trị dịch
("dịch" hiểu nôm na theo nghĩa "sự dịch chuyển" hay
"sự thiên lệch")
- Một giá trị thập phân (tức giá trị cần biểu diễn) sẽ được
biểu diễn bằng dạng nhị phân của một số dương nào đó sao cho: giá trị của số dương này lớn hơn giá trị cần biểu diễn N đơn vị
Phương pháp Số quá N:
Trang 39Các phương pháp biểu diễn thông tin
Phương pháp Số quá N:
Ví dụ: giả sử cần biểu diễn
giá trị 2 10 theo số quá N=5
(mẫu 8 bit):
* Bước 1: ta có:
Giá trị cần biểu diễn: 2
N = 5
* Bước 2: xác định số dương
lớn hơn 2 10 năm đơn vị, đó là
số 7
Vậy 2 10 sẽ được biểu diễn
bằng dạng nhị phân của 7:
Trang 40Các phương pháp biểu diễn thông tin
Phương pháp Số quá N:
Trang 41Các phương pháp biểu diễn thông tin
Biểu diễn số thực có dấu chấm động
Một số thực X được biểu diễn dưới dạng số dấu chấm động như sau:
Với R cố định thì để lưu trữ X ta cần lưu trữ M và E (dưới dạng số nguyên)
Trang 42Các phương pháp biểu diễn thông tin
Biểu diễn số thực có dấu chấm động
* Chuẩn IEEE 754:
- Ra đời vào đầu thập niên 1980
- Mã hóa các bit sao cho tất cả những máy tính tuân thủ
với chuẩn này đều hiểu chuỗi bit như nhau
- Đưa ra một cách cụ thể cách ứng xử của các phép toán
số học Điều này có nghĩa là với một chương trình cho trước, với dữ liệu cho trước, luôn luôn phải tạo ra được cùng một kết quả trên bất kỳ máy tính nào tuân thủ với chuẩn này
Trang 43Các phương pháp biểu diễn thông tin
Biểu diễn số thực có dấu chấm động
* Chuẩn IEEE 754:
- Độ chính xác đơn: định dạng nhị phân chiếm 32 bit (4 byte) và phần định trị của nó có độ chính xác 23 bit (tương đương với khoảng 7 chữ số thập phân)
- Độ chính xác kép: định dạng nhị phân chiếm 64 bit (8 byte) và phần định trị của nó có độ chính xác 52 bit (tương đương với khoảng 16 chữ số thập phân)
Trang 44Các phương pháp biểu diễn thông tin
Biểu diễn số thực có dấu chấm động
Tổng số bit
Phân cực mũ
Độ chính xác
Trang 45Các phương pháp biểu diễn thông tin
Biểu diễn số thực có dấu chấm động
Trang 46Các phương pháp biểu diễn thông tin
Biểu diễn số thực có dấu chấm động