Nguyên tắc chung:
Các ký tự cũng cần được biểu diễn bằng chuỗi bit nhị phân gọi là mã ký tự.
Số bit dùng để biểu diễn mỗi ký tự phụ thuộc vào bộ mã (ánh xạ 1-1 giữa ký tự và mã ký tự) được sử dụng.
Vd : Bộ mã ASCII dùng 8 bit cho 1 ký tự.
Bộ mã Unicode dùng 16 bit.
27 trang |
Chia sẻ: Mr Hưng | Lượt xem: 815 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Tin học đại cương - Chương 2: Biểu diễn dữ liệu trong máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
*IT1110 Tin học đại cươngPhần I: Tin học căn bảnChương 2: Biểu diễn dữ liệu trong máy tínhNguyễn Bá Ngọc*Nội dung chương này2.1. Các hệ đếm2.2. Biểu diễn dữ liệu và đơn vị đo2.3. Biểu diễn số nguyên2.4. Phép toán số học với số nguyên2.5. Tính toán logic với số nhị phân2.6. Biểu diễn ký tự2.7. Biểu diễn số thực*2.6. Biểu diễn ký tựNguyên tắc chung: Các ký tự cũng cần được biểu diễn bằng chuỗi bit nhị phân gọi là mã ký tự.Số bit dùng để biểu diễn mỗi ký tự phụ thuộc vào bộ mã (ánh xạ 1-1 giữa ký tự và mã ký tự) được sử dụng. Vd : Bộ mã ASCII dùng 8 bit cho 1 ký tự. Bộ mã Unicode dùng 16 bit. *Bộ mã ASCII (American Standard Code for Information Interchange)Bộ mã đầu tiên được sử dụng trong máy tínhDo ANSI (American National Standard Institute) thiết kếASCII là bộ mã được dùng để trao đổi thông tin chuẩn của Mỹ. Lúc đầu chỉ dùng 7 bit (128 ký tự) sau đó mở rộng thành 8 bit và có thể biểu diễn 256 ký tự khác nhau trong máy tính Bộ mã ASCII mở rộng 8 bit bao gồm:128 kí tự chuẩn có mã từ 0016 7F16128 kí tự mở rộng có mã từ 8016 FF16**Ký tự điều khiển định dạngBSBackspace – Lùi lại một vị trí. Ký tự điều khiển con trỏ lùi lại một vị trí.HTHorizontal Tab – Ký tự điều khiển con trỏ dịch đi một khoảng định trướcLFLine Feed – Ký tự điều khiển con trỏ xuống dòngVTVertical Tab – Ký tự điều khiển con trỏ dịch đi một số dòngFFForm Feed – Ký tự điều khiển con trỏ chuyển xuống đầu trang tiếp theo.CRCarriage Return – Ký tự điều khiển con trỏ về đầu dòng hiện hành.*Bộ mã ASCII (1)95 kí tự hiển thị được:có mã từ 2016 ÷ 7E1610 chữ số thập phân '0' ÷ '9' có mã từ 3016 ÷ 391626 chữ cái hoa Latin 'A' ÷ 'Z' có mã từ 4116 ÷ 5A1626 chữ cái thường Latin 'a' ÷ 'z' có mã từ 6116 ÷ 7A16*Bộ mã ASCII (2)95 ký tự hiển thị được: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*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ínhNgười phát triển phần mềmVí dụ:Bộ mã ký tự mở rộng của IBM: được dùng trên máy tính IBM-PC.Bộ mã ký tự mở rộng của Apple: được dùng trên máy tính Macintosh.Các nhà phát triển phần mềm tiếng Việt cũng đã thay đổi phần này để mã hoá cho các ký tự riêng của chữ Việt, ví dụ như bộ mã TCVN 5712, TCVN 3 (ABC), v. v.*Bộ mã UnicodeCó hai dự án độc lập nhằm mục đích tạo ra bộ mã chung cho tất cả các ngôn ngữISO 10646Unicode ProjectHai chuẩn này thống nhất về mã ký tựBảng mã Unicode dùng 16-bit để biểu diễn một ký tựĐược chấp nhận ở Việt NamTCVN 6909:2001*Nội dung chương này2.1. Các hệ đếm2.2. Biểu diễn dữ liệu và đơn vị đo2.3. Biểu diễn số nguyên2.4. Phép toán số học với số nguyên2.5. Tính toán logic với số nhị phân2.6. Biểu diễn ký tự2.7. Biểu diễn số thực*2.7. Biểu diễn số thực2.7.1. Nguyên tắc chungĐể biểu diễn số thực, trong máy tính thường dùng ký pháp dấu phẩy động (Floating Point Number). Tổng quát: một số thực X được biểu diễn theo kiểu số dấu phẩy động như sau:X = M * REM là phần định trị (Mantissa)R là cơ số (Radix)E là phần mũ (Exponent)*2.7.2. Chuẩn IEEE754-1985*Các dạng biểu diễn cơ bản32 bit (dạng chính xác đơn – single precision)kiểu float trong Cexponent bias = 12764 bit (dạng chính xác kép – double precision)kiểu double trong Cexponent bias = 1023Sem022233031Sem051526263*Dạng chính xác đơn (Single precision 32 bit)S là bit dấuS = 0: số dương; S = 1: số âmPhần mũ E:E = e – 127, trong đó e (excess) có độ dài 8 bitGiá 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:Công thức xác định giá trị của số thực: X = (-1)S * M * 2e-127*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 S = 0 → X = +0S = 1 → X = –0Các bit của e = 1, các bit của m = 0 S = 0 → X = +S = 1 → X = –Các bit của e = 1, còn m có ít nhất 1 bit = 1 thì nó không biểu diễn cho số nào cả (NaN – Not A Number, lỗi khi chia cho 0)*Giá trị của số thực độ chính xác đơn (32 bit) Denormalized numbersTất cả các bit của e = 0X = (-1)S x 0.m x 2-126Normalized numbersmin(E) = –126 với e = 1max(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*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 0000S = 1 số âme = 1000 00102 = 130 E = 130 – 127 = 3Vậy, X= -1.10101100*23 = -1101.011 = -13.375*Dạng 32 – bit. Ví dụ (tiếp):0011 1111 1000 0000 0000 0000 0000 0000Kết quả = +1.0*Dải biểu diễn giá trị Độ chính xác đơn (32 bit)Giá trị gần 0 nhất (biểu diễn bởi denomalized numbers) là ± 2-149 ≈ ±1,4012985 x 10-45Giá trị gần 0 nhất (biểu diễn bởi normalized numbers) là ± 2-126 ≈ ±1,175494351 x 10-38Giá trị hữu hạn xa 0 nhất (với e = 254 và các bit trong m bằng 1) là ± (1 – 2-24) x 2128 ≈ ±3.4028235 x 1038Số chữ số có nghĩa ≈ 7*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à ± 2-1074 ≈ ±5 x 10-324Giá trị gần 0 nhất (biểu diễn bởi normalized numbers) là ± 2-1022 ≈ ±2,2250738585072020 x 10-308Giá trị hữu hạn xa 0 nhất (với e = 2046 và các bit trong m bằng 1) là ± (1 – 2-53) x 21024 ≈ ±1.7976931348623157 x 1038Số chữ số có nghĩa ≈ 15*Định dạng mở rộng Chuẩn IEEE754-1985 chỉ xác định độ chính xác và lũy thừa tối thiểu cho mỗi định dạng mở rộngX87 80-bit extended format là chuẩn được biết đến nhiều nhất thỏa mãn yêu cầu này*Thực hiện phép toán số dấu phẩy độngX1 = M1 * RE1X2 = M2 * RE2Ta có:X1 * X2 = (M1 * M2) * RE1+ E2X1 / X2 = (M1 / M2) * RE1 - E2 X1 X2 = (M1* RE1-E2 M2) * RE2, với E1 E2*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 định trị có cùng dấu, kết quả bị nhớ ra ngoài bit cao nhất.Tràn dưới phần định trị (Mantissa Underflow): Khi hiệu chỉnh phần định trị, các số bị mất ở bên phải phần định trị.*Phép cộng và phép trừKiểm tra các số hạng có bằng 0 hay khôngHiệu chỉnh phần định trịCộng hoặc trừ phần định trịChuẩn hóa kết quả*Hỏi - đáp
Các file đính kèm theo tài liệu này:
- phan1_tinhoccanban_chuong2_bieudiendulieutrongmaytinh_part3_2083.ppt