Tổng quan_ xử lí ảnh
Trang 1BIỂU DIỄN THÔNG TIN
TRONG MÁY TÍNH
Biên soạn: TS Ngô Hữu Phúc
Bộ môn Khoa học máy tính Học viện Kỹ thuật quân sự
Trang 21 HỆ ĐẾM 1.1 Hệ mười và hệ hai
• Trong cuộc sống hàng ngày, sử dụng cơ số mười (hệ mười – Decimal number
system), viết tắt là hệ D.
– Các chữ số để biểu diễn: 0,1,2,…,9.
• Trong máy tính, sử dụng cơ số 2, Binary number system, viết tắt là hệ B.
– Các chữ số để biểu diễn: 0 và 1 (Binary digit), viết tắt là Bit.
– Các số dạng này thường được viết với cùng với chữ B.
– Một cụm 4 bit sẽ tạo thành một nibble.
– Cụm 8 bit sẽ tạo thành một byte.
– Cụm 16 bit thông thường sẽ tạo thành một word.
– Cụm 32 bit sẽ tạo thành một double word.
– Chữ số đầu tiên bên trái trong dãy các số hệ hai gọi là bit có ý nghĩa lớn nhất (Most significant bit,
MSB)
– Còn bit cuối cùng bên phải trong đây gọi là bit có ý nghĩa bé nhất (Least significant bit, LSB).
• Chúng ta thường phải có sự chuyển đổi giữa 2 hệ này khi dùng máy tính.
2 Chương 0: Tổng quan
Trang 4Các thuật toán thường dùng để chuyển
đổi giữa hai hệ
Đổi số hệ hai sang hệ mười.
khác không thứ i của số hệ hai rồi cộng lại
• Ví dụ:
• 10111,11 B = 24 + 22 + 21 + 20 + 2-1 + 2-2 =
23,75
Trang 5Các thuật toán thường dùng để
chuyển đổi giữa hai hệ (tiếp)
Chuyển một số từ hệ mười sang hệ hai ta có thể làm theo:
• Cách 1 để đổi số hệ mười sang hệ hai:
• Quy tắc:
– Lấy số hệ mười trừ đi 2 x (x là giá trị lớn nhất của số mũ chọn sao cho 2 x nhỏ hơn hoặc bằng so với số hệ mười cần đổi),
– Ghi lại giá trị 1 cho chữ số hệ hai ứng với 2 x
– Tiếp tục làm như vậy đối với số dư cho phép trừ trên tạo ra và các số 2 i bậc thấp hơn cho đến khi đạt tới 2 0 và ghi lại các giá trị (0 hoặc 1) cho chữ số hệ hai thứ i tuỳ theo quan hệ giữa số dư và luỹ thừa tương ứng.
– 1 ↔ khi số dư lớn hơn hoặc bằng 2i
– 0 ↔ khi số dư nhỏ hơn so với 2i (và phép trừ không được thực hiện)
Ví dụ: Đổi số 34 sang hệ hai.
• Các giá trị 2i cần tính đến (25 = 32 là giá trị 2x sát dưới nhất so với 34)
• Các chữ số hệ hai tính được:
• Như vậy 34 = 100010 B.
Trang 6Các thuật toán thường dùng để
chuyển đổi giữa hai hệ (tiếp)
Chuyển một số từ hệ mười sang hệ hai ta có thể làm theo:
• Cách 2 để đổi số hệ mười sang hệ hai
• Quy tắc:
– Lấy số cần đổi chia cho hai và ghi lấy phần dư.
– Tiếp theo lấy thương của phép chia trước đó chia cho 2 và ghi nhớ
phần dư
– Làm như vậy cho tới khi được thương bằng 0
– Đảo ngược thứ tự dãy các số dư sẽ được các chữ số của hệ hai cần
Trang 7Các thuật toán thường dùng để
chuyển đổi giữa hai hệ (tiếp)
Ví dụ: Đổi số 34 sang hệ hai Kết quả được
100010 B
Trang 8Các thuật toán thường dùng để chuyển
đổi giữa hai hệ (tiếp)
• Đối với trường hợp đổi cả số lẻ sau dấu phảy, ta phải đổi riêng rẽ từng
phần rồi sau đó cộng các kết quả lại
• Đối với phần nguyên ta có thể làm theo hai cách đã nói ở trên Riêng đối với phần sau dấu phẩy ta đổi theo quy tắc trình bày sau đây.
• Quy tắc đổi số thập phân hệ mười ra hệ hai.
– Lấy số cần đổi nhân với hai, tích nhận được sẽ gồm phần nguyên và phần lẻ nhị phân,
– Lấy phần lẻ nhị phân của tích thu được nhân tiếp với hai
– Làm như vậy cho đến khi được tích chẵn bằng 1
– Chọn riêng các phần nguyên (phần trước dấu phẩy) của các tích thu được và xếp lại sẽ được các chữ số sau dấu phẩy của số hệ hai cần tìm
– Và thu được kết quả là 0,125 = 0,001 B
– Kết hợp các ví dụ trên lại, nếu phải đổi số 34,125 ra hệ hai ta thu được kết quả cuối cùng là 34,125 = 100010,001 B
Trang 91.2 Số BCD (số hệ mười mã hoá bằng hệ hai)
• Hệ BCD cho các số hệ mười mã hoá bằng hệ hai
(Binary Coded Decimal number).
• Ở đây ta dùng bốn số hệ hai để mã hoá một số hệ
mười có giá trị nằm trong khoảng 0 9
• Như vậy ở đây ta không dùng hết các tổ hợp có thể của 4 bit
• Vì tầm quan trọng của các số BCD nên các bộ vi
xử lý thường có các lệnh thao tác với chúng.
• Ví dụ :
– Số 410 nếu biểu diến theo kểu số BCD thì được 0100
0001 0000
Trang 101.3 Hệ mười sáu (Hexa-decimal, hex, H)
• Nếu ta dùng hệ hai để biểu diễn các số có giá trị lớn ta sẽ gặp điều bất tiện là số hệ hai thu được quá dài
• Ví dụ để biểu diễn số 255 ta cần đến 8 bit viết như sau:
255 = 1111 1111 B
• Trong thực tế để viết kết quả biểu diễn của các số cho gọn lại người
ta tìm cách nhóm 4 số hệ hai (1 nibble) thành một số hệ mười sáu
• Khác với hệ BCD vừa nói, hệ 16 dùng hết các tổ hợp có thể có của 4 bit để biểu diễn các giá trị số
Trang 112 BIỂU DIỄN DỮ LIỆU
2.1 Biểu diễn số
a Biểu diễn số nguyên
• Số nguyên không dấu: sử dụng 8 bit để biểu diễn 256 giá trị (0 đến 255)
• Số nguyên có dấu: 1 bit biểu diễn dấu (+: bit 7 = 0; -: bit 7 = 1) 7 bit còn lại biểu diễn giá trị tuyệt đối
(-127, ,-0,+0, ,127)
• Biểu diễn số có dấu theo “mã bù 2”
+ Số dương: dấu và trị tuyệt đối như trước (sẽ nói đến ở phần sau)
+ Số âm: lấy bù 1 của số dương + 1.
• Ví dụ:
– 8 bit biểu diễn số dương lớn nhất: 01111111 = 127 = 7FH
– Số âm : 10000001 = -127 = 81H
Trang 122 BIỂU DIỄN DỮ LIỆU (tiếp)
b Biểu diễn số thực
+ Số thực với dấu phẩy tĩnh:
• Số cần biểu diễn được định trước vị trí dấu phẩy.
• Ví dụ: 8 bit để biểu diễn số 12,75 = 1100,10010110
(Chỉ biểu diễn được một số giá trị giới hạn)
+ Số thực với dấu phẩy động
• Biểu diễn bằng số dấu phẩy động theo chuẩn IEEE754/85 dùng 32 bit (độ chính xác đơn)
Trang 13Các quy ước đặc biệt
• Các bit của e bằng 0, các bit của m bằng 0, thì X= ± 0
x000 0000 0000 0000 0000 0000 0000 0000 ↔ X= ± 0
• Các bit của e bằng 1, các bit của m bằng 0, thì X= ± ∞
x111 1111 1000 0000 0000 0000 0000 0000 ↔ X= ± ∞
• Các bit của e bằng 1, còn m có ít nhất 1 bit bằng 1, thì
nó không biểu diễn cho số nào cả (NaN – not a
number)
Trang 15c Biểu diễn ký tự (tiếp)
Trang 16ASCII Character Code 128 ký tự chuẩn
Trang 18 Một số ký hiệu thông dụng: &, $, @, #
Dấu cách (space) Chương 0: Tổng quan 18
Trang 19c Biểu diễn ký tự (tiếp)
Trang 20Unicode Character Code 256 ký tự chuẩn