IT1110 Tin học đại cương
Phần I: Tin học căn bản
Chương 2: Biểu diễn dữ liệu trong máy tính
Nguyễn Bá Ngọc
1
Nội dung chương này
2.1. Các hệ đếm
2.2. Biểu diễn dữ liệu và đơn vị đo
2.3. Biểu diễn số nguyên
2.4. Phép toán số học với số nguyên
2.5. Tính toán logic với số nhị phân
2.6. Biểu diễn ký tự
2.7. Biểu diễn số thực
2
2.6. Biểu diễn ký tự
Nguyên tắc chung:
128 kí tự chuẩn có mã từ 0016 7F16
128 kí tự mở rộng có mã từ 8016 FF16
4
5
Ký tự điều khiển định dạng
BS
HT
LF
VT
FF
CR
Backspace – Lùi lại một vị trí. Ký tự điều khiển con trỏ lùi
lại một vị trí.
Horizontal Tab – Ký tự điều khiển con trỏ dịch đi một
khoảng định trước
Line Feed – Ký tự điều khiển con trỏ xuống dòng
Vertical Tab – Ký tự điều khiển con trỏ dịch đi một số
dòng
Form Feed – Ký tự điều khiển con trỏ chuyển xuống đầu
trang tiếp theo.
Các dấu câu: . , ? ! : ; v.v.
Các dấu phép toán: + * / v.v.
Một số kí tự thông dụng: #, $, &, @, v.v.
Dấu cách (mã là 2016)
33 mã điều khiển: mã từ 0016 ÷ 1F16 và 7F16
dùng để mã hóa cho các chức năng điều
khiển
9
Các ký tự mở rộng của bảng mã ASCII
Được định nghĩa bởi:
Nhà chế tạo máy tính
Người phát triển phần mềm
Hai chuẩn này thống nhất về mã ký tự
Bảng mã Unicode dùng 16bit để biểu diễn một
ký tự
Được chấp nhận ở Việt Nam
TCVN 6909:2001
11
Nội dung chương này
2.1. Các hệ đếm
2.2. Biểu diễn dữ liệu và đơn vị đo
2.3. Biểu diễn số nguyên
2.4. Phép toán số học với số nguyên
2.5. Tính toán logic với số nhị phân
2.6. Biểu diễn ký tự
2.7. Biểu diễn số thực
12
S
63
S
22
0
e
m
62
52
51
e
0
m
32 bit (dạng chính xác đơn – single precision)
S = 0: số dương; S = 1: số âm
E = e – 127, trong đó e (excess) có độ dài 8 bit
Giá trị 127 gọi là độ lệch (bias)
Phần định trị M=1.m, trong đó m là phần lẻ của phần định trị
gồm 23 bit:
23
m
b23 i 2
i
i 1
Công thức xác định giá trị của số thực:
X = (1)S * M * 2e127
16
Giá trị của số thực độ chính xác đơn
(32 bit)
Nếu các bit của e = 0 và các bit của m = 0
X = (1)S x 0.m x 2126
Normalized numbers
min(E) = –126 với e = 1
max(E) = 127 với e = 254 (khi e = 255, X không phải là
số hữu hạn)
X = (1)S x 1.m x 2e – 127
18
Dạng 32 – bit. Ví dụ:
Xác định giá trị của số thực được biểu diễn
bằng 32 bit như sau:
1100 0001 0101 0110 0000 0000 0000 0000
Giá trị gần 0 nhất (biểu diễn bởi denomalized
numbers) là ± 2149 ≈ ±1,4012985 x 1045
Giá trị gần 0 nhất (biểu diễn bởi normalized
numbers) là ± 2126 ≈ ±1,175494351 x 1038
Giá trị hữu hạn xa 0 nhất (với e = 254 và các bit
trong m bằng 1) là
± (1 – 224) x 2128 ≈ ±3.4028235 x 1038
Số chữ số có nghĩa ≈ 7
21
Dải biểu diễn giá trị
Độ chính xác kép (double precision 64 bit)
Giá trị gần 0 nhất (biểu diễn bởi denomalized
numbers) là ± 21074 ≈ ±5 x 10324
Giá trị gần 0 nhất (biểu diễn bởi normalized
numbers) là
± 21022 ≈ ±2,2250738585072020 x 10308
X1 = M1 * RE1
X2 = M2 * RE2
Ta có:
X1 * X2 = (M1 * M2) * RE1+ E2
X1 / X2 = (M1 / M2) * RE1 E2
X1 X2 = (M1* RE1E2 M2) * RE2, với E1
E2
24
Các khả năng tràn số
Tràn trên số mũ (Exponent Overflow): mũ dương vượt ra
khỏi giá trị cực đại của số mũ dương có thể (
)
Tràn dưới số mũ (Exponent Underflow): mũ âm vượt ra
khỏi giá trị cực đại của số mũ âm có thể ( 0)
Tràn trên phần định trị (Mantissa Overflow): cộng hai phần