NMLT_C04_BieuDienThongTin_#REF
Chia sẻ bởi Trần Tuấn Vũ |
Ngày 19/03/2024 |
14
Chia sẻ tài liệu: NMLT_C04_BieuDienThongTin_#REF thuộc Công nghệ thông tin
Nội dung tài liệu:
NHẬP MÔN LẬP TRÌNH
BIỂU DIỄN THÔNG TIN
BÊN TRONG MÁY TÍNH
Nội dung
Biểu diễn thông tin bên trong MTĐT
Khái niệm
Thông tin (information)
Khái niệm sử dụng thường ngày.
Thông qua báo chí, phim ảnh, giao tiếp...
Dữ liệu (data)
Biểu diễn thông tin bằng các tín hiệu vật lý.
Không có ý nghĩa nếu chúng không được tổ chức và xử lý.
Hệ thống thông tin (information system)
Hệ thống ghi nhận dữ liệu, xử lý nó để tạo thông tin có ý nghĩa hoặc dữ liệu mới.
Biểu diễn thông tin bên trong MTĐT
Quá trình xử lý thông tin
Biểu diễn thông tin bên trong MTĐT
Xuất dữ liệu/
thông tin
(Output)
Nhập dữ liệu
(Input)
Xử lý
(Processing)
Lưu trữ
(Storage)
Đơn vị đo thông tin
Biểu diễn thông tin bên trong MTĐT
Số học nhị phân sử dụng hai ký số 0 và 1.
Bit (Binary Digit)
Đơn vị chứa thông tin nhỏ nhất.
Các đơn vị đo thông tin lớn hơn:
Đơn vị đo thông tin
Biểu diễn thông tin bên trong MTĐT
1 bit
2 bit
3 bit
n bit
…
0
0
1
0
1
2
0
1
3
4
5
n-1
2
2
22
23
2n
0…000 1…111 = 2n – 1
Hệ thống số đếm tổng quát
a N* biểu diễn duy nhất dưới dạng:
a = anbn + an-1bn-1 + … + a1b1 + a0b0
hay a = (anan-1…a1a0)b
Trong đó:
b là cơ sở của biểu diễn, b N, b ≥ 2.
ai là các ký số và ai N, 0 i n, 0 ai < b.
Cách viết trên được gọi là biểu diễn cơ sở b của a.
Chiều dài của biểu diễn bằng n + 1.
Nếu có số lẻ thì vị trí đầu tiên sau dấu phẩy là -1, các vị trí tiếp theo là -2, -3, …
Biểu diễn thông tin bên trong MTĐT
Hệ thập phân – DECimal
Biểu diễn thông tin bên trong MTĐT
Hệ đếm quen thuộc của con người.
Sử dụng 10 ký số từ 0 đến 9.
Ví dụ
120810 = 1*103 + 2*102 + 0*101 + 8*100
120810 = 1*1000 + 2*100 + 0*10 + 8*1
120810 = 1000 + 200 + 0 + 8 = 120810
12.0810 = 1*101 + 2*100 + 0*10-1 + 8*10-2
12.0810 = 1*10 + 2*1 + 0*1/10 + 8*1/100
12.0810 = 10 + 2 + 0 + 0.08 = 12.0810
Hệ nhị phân – BINary
Biểu diễn thông tin bên trong MTĐT
Hệ đếm sử dụng trong máy tính điện tử.
Sử dụng 2 ký số là 0 và 1.
Ví dụ
101102 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20
101102 = 1*16 + 0*8 + 1*4 + 1*2 + 0*1
101102 = 16 + 0 + 4 + 2 + 0 = 2210
10.1102 = 1*21 + 0*20 + 1*2-1 + 1*2-2 + 0*2-3
10.1102 = 1*2 + 0*1 + 1*1/2 + 1*1/4 + 0*1/8
10.1102 = 2 + 0 + 0.5 + 0.25 + 0 = 2.7510
Hệ bát phân – OCTal
Biểu diễn thông tin bên trong MTĐT
Sử dụng 8 ký số từ 0 đến 7.
Ví dụ
22708 = 2*83 + 2*82 + 7*81 + 0*80
22708 = 2*512 + 2*64 + 7*8 + 0*1
22708 = 1024 + 128 + 56 + 0 = 120810
22.708 = 2*81 + 2*80 + 7*8-1 + 0*8-2
22.708 = 2*8 + 2*1 + 7*1/8 + 0*1/64
22.708 = 16 + 2 + 0.875 + 0 = 18.87510
Hệ thập lục phân – HEXadecimal
Biểu diễn thông tin bên trong MTĐT
Sử dụng 16 ký số từ 0 đến 9 và từ A đến F
Ví dụ
4B816 = 4*162 + B*161 + 8*160
4B816 = 4*256 + 11*16 + 8*1
4B816 = 1024 + 176 + 8 = 120810
4B.816 = 4*161 + B*160 + 8*16-1
4B.816 = 4*16 + 11*1 + 8*1/16
4B.816 = 64 + 11 + 0.5 = 75.510
Chuyển đổi giữa các hệ đếm
Biểu diễn thông tin bên trong MTĐT
Đặc điểm
Con người sử dụng hệ thập phân.
Máy tính sử dụng hệ nhị phân, bát phân, thập lục phân.
Nhu cầu
Chuyển đổi qua lại giữa các hệ đếm.
Hệ khác sang hệ thập phân (... ~> dec)
Hệ thập phân sang hệ khác (dec ~> ...)
Hệ nhị phân sang hệ khác và ngược lại (bin <> …)
…
Chuyển từ hệ cơ sở b -> DEC
Biểu diễn thông tin bên trong MTĐT
Cách 1
Khai triển biểu diễn và tính giá trị biểu thức.
Ví dụ chuyển từ hệ nhị phân sang thập phân
1011.012 = 1*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2
1011.012 = 8 + 0 + 2 + 1 + 0 + 0.25 = 11.2510
Cách 2
Nhân/Chia lồng nhau.
Ví dụ
1011.012 = ((1*2 + 0)*2 + 1)*2 + 1 + (1/2 + 0)/2
1011.012 = 11 + 0.25 = 11.2510
Chuyển từ DEC -> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Đổi phần nguyên
Chia phần nguyên của số đó cho b và tiếp tục lấy phần nguyên của kết quả chia cho b.
Dãy các số dư ở mỗi lần chia là a0, a1, ..., an.
Phần nguyên của số hệ cở sở b là (an…a1a0).
Đổi phần lẻ
Nhân phần lẻ của số đó cho b và tiếp tục lấy phần lẻ của kết quả nhân cho b.
Dãy các số nguyên ở mỗi lần nhân là a-1, a-2, …, a-m tạo thành phần lẻ ở hệ cơ sở b.
Chuyển từ DEC -> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Đổi 11.2510 sang hệ nhị phân (b = 2)
Đổi phần nguyên 1110
11 : 2 = 5 dư 1, vậy a0 = 1
05 : 2 = 2 dư 1, vậy a1 = 1
02 : 2 = 1 dư 0, vậy a2 = 0
01 : 2 = 0 dư 1, vậy a3 = 1
=> phần nguyên 1110 = 10112
Đổi phần lẻ 0.2510
0.25 * 2 = 0.5, vậy a-1 = 0
0.50 * 2 = 1.0, vậy a-2 = 1
=> phần lẻ 0.2510 = .012
Vậy 11.2510 = 1011.012
Chuyển từ DEC -> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Đổi 1208.67610 sang hệ 16 (lấy 2 số lẻ).
Đổi phần nguyên 120810
1208 : 16 = 75 dư 08, vậy a0 = 8
0075 : 16 = 04 dư 11, vậy a1 = B
0004 : 16 = 00 dư 04, vậy a2 = 4
=> phần nguyên 120810 = 4B816
Đổi phần lẻ 0.67610
0.676 * 16 = 10.816, vậy a-1 = A
0.816 * 16 = 13.056, vậy a-2 = D
do ta chỉ muốn lấy 2 số lẻ nên không nhân tiếp.
=> phần lẻ 0.67610 = .AD16
Vậy 1208.67610 = 4B8.AD16
Chuyển từ BIN <-> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Từ hệ nhị phân sang thập lục phân (24)
Nhóm từng bộ 4 bit trong biểu diễn nhị phân rồi chuyển sang ký số tương ứng trong hệ thập lục phân (0000 ~> 0,…, 1111 ~> F)
Ví dụ
1001011.12 = 0100 1011 . 1000 = 4B.816
Chuyển từ BIN <-> hệ cơ sở b
Từ hệ nhị phân sang thập bát phân (23)
Nhóm từng bộ 3 bit trong biểu diễn nhị phân rồi chuyển sang ký số tương ứng trong hệ bát phân (000 ~> 0,…, 111 ~> 7).
Ví dụ
1101.112 = 001 101 . 110 = 15.68
Biểu diễn thông tin bên trong MTĐT
Lập bảng chuyển đổi
Biểu diễn thông tin bên trong MTĐT
0
22
21
20
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
2
3
4
5
6
7
Bảng tổng hợp
Biểu diễn thông tin bên trong MTĐT
Các phép toán trên các hệ đếm
Phép cộng
Ví dụ cộng 2 số thập phân
Biểu diễn thông tin bên trong MTĐT
2
9
1
2
1
7
0
6
1
2
9
1
2
1
7
0
6
8
1
6
4
Các phép toán trên các hệ đếm
Phép cộng
Ví dụ cộng 2 số nhị phân
Biểu diễn thông tin bên trong MTĐT
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
10
1
1
1
0
1
0
0
0
1
1
Các phép toán trên các hệ đếm
Phép cộng
Cộng các số ở hệ khác được thực hiện tương tự như ở hệ thập phân.
Ở mỗi hệ nên lập bảng cộng các ký số và tra trong bảng này để được ngay kết quả.
Bảng cộng số bát phân và số thập lục phân (xem trong giáo trình).
Biểu diễn thông tin bên trong MTĐT
Các phép toán trên các hệ đếm
Phép trừ (kết quả dương)
Ví dụ trừ hai số thập phân
Biểu diễn thông tin bên trong MTĐT
2
9
1
2
1
7
0
6
1
2
9
1
2
1
7
0
6
6
0
2
1
Các phép toán trên các hệ đếm
Phép trừ (kết quả dương)
Ví dụ trừ 2 số nhị phân
Biểu diễn thông tin bên trong MTĐT
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
10
1
1
1
0
1
0
0
1
1
1
Các phép toán trên các hệ đếm
Phép trừ
Các ví dụ trên số bị trừ nhỏ hơn số trừ, tức là a – b với a < b.
Muốn tính a – b mà a > b ta tính b – a rồi đảo dấu kết quả.
Tra bảng cộng từng hệ đếm để có kết quả nhanh chóng.
Biểu diễn thông tin bên trong MTĐT
Các phép toán trên các hệ đếm
Phép nhân
Ví dụ nhân 2 số thập phân
Biểu diễn thông tin bên trong MTĐT
2
9
1
2
1
8
5
9
2
8
4
3
2
9
1
2
Các phép toán trên các hệ đếm
Phép nhân
Ví dụ nhân 2 số nhị phân
Biểu diễn thông tin bên trong MTĐT
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
Các phép toán trên các hệ đếm
Phép nhân
Nhân các số ở hệ khác được thực hiện tương tự như ở hệ thập phân.
Ở mỗi hệ nên lập bảng nhân các ký số và tra trong bảng này để được ngay kết quả.
Bảng nhân số bát phân và số thập lục phân (xem trong giáo trình).
Phép chia
Tương tự như phép chia trong hệ thập phân (xem trong giáo trình).
Biểu diễn thông tin bên trong MTĐT
Biểu diễn thông tin trong MTĐT
Đặc điểm
Được lưu trong các thanh ghi hoặc trong các ô nhớ. Thanh ghi hoặc ô nhớ có kích thước 1 byte (8 bit) hoặc 1 word (16 bit).
Biểu diễn số nguyên không dấu, số nguyên có dấu, số thực và ký tự.
Hai loại bit đặc biệt
msb (most significant bit): bit nặng nhất (bit n)
lsb (least significant bit): bit nhẹ nhất (bit 0)
Biểu diễn thông tin bên trong MTĐT
Biểu diễn số nguyên không dấu
Đặc điểm
Biểu diễn các đại lương luôn dương.
Ví dụ: chiều cao, cân nặng, mã ASCII…
Tất cả bit được sử dụng để biểu diễn giá trị.
Số nguyên không dấu 1 byte lớn nhất là 1111 11112 = 28 – 1 = 25510.
Số nguyên không dấu 1 word lớn nhất là 1111 1111 1111 11112 = 216 – 1 = 6553510.
Tùy nhu cầu có thể sử dụng số 2, 3… word.
lsb = 1 thì số đó là số đó là số lẻ.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn số nguyên có dấu
Đặc điểm
Lưu các số dương hoặc âm.
Bit msb dùng để biểu diễn dấu
msb = 0 biểu diễn số dương. VD: 0101 0011
msb = 1 biểu diễn số âm. VD: 1101 0011
Số âm trong máy được biểu diễn ở dạng số bù 2.
Biểu diễn thông tin bên trong MTĐT
Số bù 1 và số bù 2
Biểu diễn thông tin bên trong MTĐT
0
0
0
0
0
1
0
1
Số 5 (byte)
1
1
1
1
1
0
1
0
Số bù 1 của 5
1
1
1
1
1
0
1
1
Số bù 2 của 5
1
+
0
0
0
0
0
1
0
1
+ Số 5
0
0
0
0
0
0
0
0
1
Kết quả
Biểu diễn số nguyên có dấu
Nhận xét
Số bù 2 của x cộng với x là một dãy toàn bit 0 (không tính bit 1 cao nhất do vượt quá phạm vi lưu trữ). Do đó số bù 2 của x chính là giá trị âm của x hay – x.
Đổi số thập phân âm –5 sang nhị phân?
=> Đổi 5 sang nhị phân rồi lấy số bù 2 của nó.
Thực hiện phép toán a – b?
a – b = a + (–b) => Cộng với số bù 2 của b.
Biểu diễn thông tin bên trong MTĐT
Tính giá trị có dấu và không dấu
Tính giá trị không dấu và có dấu của 1 số?
Ví dụ số word (16 bit): 1100 1100 1111 0000
Số nguyên không dấu ?
Tất cả 16 bit lưu giá trị.
=> giá trị là 52464.
Số nguyên có dấu ?
Bit msb = 1 do đó số này là số âm.
=> độ lớn là giá trị của số bù 2.
Số bù 2 = 0011 0011 0001 0000 = 13072.
=> giá trị là –13072.
Biểu diễn thông tin bên trong MTĐT
Tính giá trị có dấu và không dấu
Nhận xét
Bit msb = 0 thì giá trị có dấu bằng giá trị không dấu.
Bit msb = 1 thì giá trị có dấu bằng giá trị không dấu trừ đi 256 (byte) hay 65536 (word).
Tính giá trị không dấu và có dấu của 1 số?
Ví dụ số word (16 bit): 1100 1100 1111 0000
Giá trị không dấu là 52464.
Giá trị có dấu: vì bit msb = 1 nên giá trị có dấu bằng 52464 – 65536 = –13072.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn số thực
Khái niệm
Để lưu trữ các số lẻ.
Sử dụng dấu chấm động (floating-point).
Chia làm 3 phần:
1 bit để biểu diễn dấu.
Một chuỗi bit để biểu diễn số mũ.
Một chuỗi bit để biểu diễn phần định trị.
Đọc thêm phần 4.4.1.3 Số thực trong giáo trình Tin học cơ sở A.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn thông tin chữ số
Khái niệm
Để biểu diễn các ký tự như chữ thường, chữ hoa, ký hiệu…
Các hệ mã
Hệ thập phân mã nhị phân BCD (Binary Coded Decimal): dùng số nhị phân 4 bit thay thế một số thập phân.
Hệ thập phân mã nhị phân mở rộng EBCDIC (Extended Binary Coded Decimal Interchange Code): dùng 8 bit biểu diễn 1 ký tự.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn thông tin chữ số
Các hệ mã (tiếp theo)
Hệ chuyển đổi thông tin theo mã chuẩn của Mỹ ASCII (American Standard Code for Information Interchange)
1 – 31: ký tự điều khiển.
32 – 47: khoảng trắng, “ # $ % & ‘ ( ) * +, - . /
48 – 57: ký số từ 0 đến 9
58 – 64: các dấu : ; < = > ? @
65 – 90: các chữ in hoa từ A đến Z
91 – 96: các dấu [ ] _ `
97 – 122: các chữ thường từ a đến z
123 – 127: các dấu { | } ~ DEL
Biểu diễn thông tin bên trong MTĐT
Bài tập
Thông tin là gì? Hãy vẽ mô hình và mô tả khái quát quá trình xử lý thông tin trong máy tính?
Đơn vị đo thông tin trong máy tính điện tử là gì? Kể tên một số đơn vị đo thông tin mà bạn biết.
Trình bày hệ đếm nhị phân, bát phân, thập phân, thập lục phân.
Số nguyên trong máy tính.
Bảng mã ASCII.
Biểu diễn thông tin bên trong MTĐT
Bài tập
Đổi sang hệ thập phân (lấy 2 số lẻ)
320316
80.07A16
Đổi sang hệ thập lục phân
1940510
194.0510
Tính giá trị không dấu, có dấu của word
F95616
Thực hiện phép cộng, trừ, nhân
C216 và 9C16
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 6e
320316 = 3*163 + 2*162 + 0*161 + 3*160
320316 = 3*4096 + 2*256 + 0 + 3*1
320316 = 12288 + 512 + 3 = 1280310
320316 = ((3*16 + 2)*16 + 0)*16 + 3
320316 = (50*16 + 0)*16 + 3
320316 = 800*16 + 3 = 1280310
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 6f
80.07A16 = 8*161 + 0*160
80.07A16 + 0*16-1 + 7*16-2 + A*16-3
80.07A16 = 8*16 + 7/256 + 10/4096
80.07A16 = 128 + 0.027 + 0.002
80.07A16 = 128.0310
80.07A16 = 8*16 + 0
80.07A16 + ((A/16 + 7)/16 + 0)/16
80.07A16 = 128 + (7.625/16 + 0)/16
80.07A16 = 128 + 0.4766/16
80.07A16 = 128.0310
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 7a
Đổi 1940510 sang hệ 16
19405 : 16 = 1212 dư 13, vậy a0 = D
01212 : 16 = 0075 dư 12, vậy a1 = C
00075 : 16 = 0004 dư 11, vậy a2 = B
00004 : 16 = 0000 dư 04, vậy a3 = 4
Vậy 1940510 = 4BCD16
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 7b
Đổi phần nguyên 19410 sang hệ 16
194 : 16 = 12 dư 02, vậy a0 = 2
012 : 16 = 00 dư 12, vậy a1 = C
Vậy 19410 = C216
Đổi phần lẻ 0.0510 sang hệ 16
0.05 * 16 = 00.8, vậy a-1 = 0
0.80 * 16 = 12.8, vậy a-2 = C
Vậy 0.0510 = 0.0C16
Vậy 194.0510 = C2.0C16
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 9b
F95616 = 1111 1001 0101 01102
Giá trị không dấu: 6383010
Giá trị có dấu:
Nhận xét: bit msb = 1 nên đây là số âm.
Cách 1: Tính số bù 2 của nó.
Cách 2: 63830 – 65536 = –170610
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 10c
Biểu diễn thông tin bên trong MTĐT
C
2
9
C
E
5
1
C
2
9
C
1
6
2
C
2
9
C
1
8
1
2
D
8
3
6
9
6
7
BIỂU DIỄN THÔNG TIN
BÊN TRONG MÁY TÍNH
Nội dung
Biểu diễn thông tin bên trong MTĐT
Khái niệm
Thông tin (information)
Khái niệm sử dụng thường ngày.
Thông qua báo chí, phim ảnh, giao tiếp...
Dữ liệu (data)
Biểu diễn thông tin bằng các tín hiệu vật lý.
Không có ý nghĩa nếu chúng không được tổ chức và xử lý.
Hệ thống thông tin (information system)
Hệ thống ghi nhận dữ liệu, xử lý nó để tạo thông tin có ý nghĩa hoặc dữ liệu mới.
Biểu diễn thông tin bên trong MTĐT
Quá trình xử lý thông tin
Biểu diễn thông tin bên trong MTĐT
Xuất dữ liệu/
thông tin
(Output)
Nhập dữ liệu
(Input)
Xử lý
(Processing)
Lưu trữ
(Storage)
Đơn vị đo thông tin
Biểu diễn thông tin bên trong MTĐT
Số học nhị phân sử dụng hai ký số 0 và 1.
Bit (Binary Digit)
Đơn vị chứa thông tin nhỏ nhất.
Các đơn vị đo thông tin lớn hơn:
Đơn vị đo thông tin
Biểu diễn thông tin bên trong MTĐT
1 bit
2 bit
3 bit
n bit
…
0
0
1
0
1
2
0
1
3
4
5
n-1
2
2
22
23
2n
0…000 1…111 = 2n – 1
Hệ thống số đếm tổng quát
a N* biểu diễn duy nhất dưới dạng:
a = anbn + an-1bn-1 + … + a1b1 + a0b0
hay a = (anan-1…a1a0)b
Trong đó:
b là cơ sở của biểu diễn, b N, b ≥ 2.
ai là các ký số và ai N, 0 i n, 0 ai < b.
Cách viết trên được gọi là biểu diễn cơ sở b của a.
Chiều dài của biểu diễn bằng n + 1.
Nếu có số lẻ thì vị trí đầu tiên sau dấu phẩy là -1, các vị trí tiếp theo là -2, -3, …
Biểu diễn thông tin bên trong MTĐT
Hệ thập phân – DECimal
Biểu diễn thông tin bên trong MTĐT
Hệ đếm quen thuộc của con người.
Sử dụng 10 ký số từ 0 đến 9.
Ví dụ
120810 = 1*103 + 2*102 + 0*101 + 8*100
120810 = 1*1000 + 2*100 + 0*10 + 8*1
120810 = 1000 + 200 + 0 + 8 = 120810
12.0810 = 1*101 + 2*100 + 0*10-1 + 8*10-2
12.0810 = 1*10 + 2*1 + 0*1/10 + 8*1/100
12.0810 = 10 + 2 + 0 + 0.08 = 12.0810
Hệ nhị phân – BINary
Biểu diễn thông tin bên trong MTĐT
Hệ đếm sử dụng trong máy tính điện tử.
Sử dụng 2 ký số là 0 và 1.
Ví dụ
101102 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20
101102 = 1*16 + 0*8 + 1*4 + 1*2 + 0*1
101102 = 16 + 0 + 4 + 2 + 0 = 2210
10.1102 = 1*21 + 0*20 + 1*2-1 + 1*2-2 + 0*2-3
10.1102 = 1*2 + 0*1 + 1*1/2 + 1*1/4 + 0*1/8
10.1102 = 2 + 0 + 0.5 + 0.25 + 0 = 2.7510
Hệ bát phân – OCTal
Biểu diễn thông tin bên trong MTĐT
Sử dụng 8 ký số từ 0 đến 7.
Ví dụ
22708 = 2*83 + 2*82 + 7*81 + 0*80
22708 = 2*512 + 2*64 + 7*8 + 0*1
22708 = 1024 + 128 + 56 + 0 = 120810
22.708 = 2*81 + 2*80 + 7*8-1 + 0*8-2
22.708 = 2*8 + 2*1 + 7*1/8 + 0*1/64
22.708 = 16 + 2 + 0.875 + 0 = 18.87510
Hệ thập lục phân – HEXadecimal
Biểu diễn thông tin bên trong MTĐT
Sử dụng 16 ký số từ 0 đến 9 và từ A đến F
Ví dụ
4B816 = 4*162 + B*161 + 8*160
4B816 = 4*256 + 11*16 + 8*1
4B816 = 1024 + 176 + 8 = 120810
4B.816 = 4*161 + B*160 + 8*16-1
4B.816 = 4*16 + 11*1 + 8*1/16
4B.816 = 64 + 11 + 0.5 = 75.510
Chuyển đổi giữa các hệ đếm
Biểu diễn thông tin bên trong MTĐT
Đặc điểm
Con người sử dụng hệ thập phân.
Máy tính sử dụng hệ nhị phân, bát phân, thập lục phân.
Nhu cầu
Chuyển đổi qua lại giữa các hệ đếm.
Hệ khác sang hệ thập phân (... ~> dec)
Hệ thập phân sang hệ khác (dec ~> ...)
Hệ nhị phân sang hệ khác và ngược lại (bin <> …)
…
Chuyển từ hệ cơ sở b -> DEC
Biểu diễn thông tin bên trong MTĐT
Cách 1
Khai triển biểu diễn và tính giá trị biểu thức.
Ví dụ chuyển từ hệ nhị phân sang thập phân
1011.012 = 1*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2
1011.012 = 8 + 0 + 2 + 1 + 0 + 0.25 = 11.2510
Cách 2
Nhân/Chia lồng nhau.
Ví dụ
1011.012 = ((1*2 + 0)*2 + 1)*2 + 1 + (1/2 + 0)/2
1011.012 = 11 + 0.25 = 11.2510
Chuyển từ DEC -> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Đổi phần nguyên
Chia phần nguyên của số đó cho b và tiếp tục lấy phần nguyên của kết quả chia cho b.
Dãy các số dư ở mỗi lần chia là a0, a1, ..., an.
Phần nguyên của số hệ cở sở b là (an…a1a0).
Đổi phần lẻ
Nhân phần lẻ của số đó cho b và tiếp tục lấy phần lẻ của kết quả nhân cho b.
Dãy các số nguyên ở mỗi lần nhân là a-1, a-2, …, a-m tạo thành phần lẻ ở hệ cơ sở b.
Chuyển từ DEC -> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Đổi 11.2510 sang hệ nhị phân (b = 2)
Đổi phần nguyên 1110
11 : 2 = 5 dư 1, vậy a0 = 1
05 : 2 = 2 dư 1, vậy a1 = 1
02 : 2 = 1 dư 0, vậy a2 = 0
01 : 2 = 0 dư 1, vậy a3 = 1
=> phần nguyên 1110 = 10112
Đổi phần lẻ 0.2510
0.25 * 2 = 0.5, vậy a-1 = 0
0.50 * 2 = 1.0, vậy a-2 = 1
=> phần lẻ 0.2510 = .012
Vậy 11.2510 = 1011.012
Chuyển từ DEC -> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Đổi 1208.67610 sang hệ 16 (lấy 2 số lẻ).
Đổi phần nguyên 120810
1208 : 16 = 75 dư 08, vậy a0 = 8
0075 : 16 = 04 dư 11, vậy a1 = B
0004 : 16 = 00 dư 04, vậy a2 = 4
=> phần nguyên 120810 = 4B816
Đổi phần lẻ 0.67610
0.676 * 16 = 10.816, vậy a-1 = A
0.816 * 16 = 13.056, vậy a-2 = D
do ta chỉ muốn lấy 2 số lẻ nên không nhân tiếp.
=> phần lẻ 0.67610 = .AD16
Vậy 1208.67610 = 4B8.AD16
Chuyển từ BIN <-> hệ cơ sở b
Biểu diễn thông tin bên trong MTĐT
Từ hệ nhị phân sang thập lục phân (24)
Nhóm từng bộ 4 bit trong biểu diễn nhị phân rồi chuyển sang ký số tương ứng trong hệ thập lục phân (0000 ~> 0,…, 1111 ~> F)
Ví dụ
1001011.12 = 0100 1011 . 1000 = 4B.816
Chuyển từ BIN <-> hệ cơ sở b
Từ hệ nhị phân sang thập bát phân (23)
Nhóm từng bộ 3 bit trong biểu diễn nhị phân rồi chuyển sang ký số tương ứng trong hệ bát phân (000 ~> 0,…, 111 ~> 7).
Ví dụ
1101.112 = 001 101 . 110 = 15.68
Biểu diễn thông tin bên trong MTĐT
Lập bảng chuyển đổi
Biểu diễn thông tin bên trong MTĐT
0
22
21
20
0
0
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
1
1
1
1
1
0
1
2
3
4
5
6
7
Bảng tổng hợp
Biểu diễn thông tin bên trong MTĐT
Các phép toán trên các hệ đếm
Phép cộng
Ví dụ cộng 2 số thập phân
Biểu diễn thông tin bên trong MTĐT
2
9
1
2
1
7
0
6
1
2
9
1
2
1
7
0
6
8
1
6
4
Các phép toán trên các hệ đếm
Phép cộng
Ví dụ cộng 2 số nhị phân
Biểu diễn thông tin bên trong MTĐT
1
1
1
0
1
0
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
0
1
1
10
1
1
1
0
1
0
0
0
1
1
Các phép toán trên các hệ đếm
Phép cộng
Cộng các số ở hệ khác được thực hiện tương tự như ở hệ thập phân.
Ở mỗi hệ nên lập bảng cộng các ký số và tra trong bảng này để được ngay kết quả.
Bảng cộng số bát phân và số thập lục phân (xem trong giáo trình).
Biểu diễn thông tin bên trong MTĐT
Các phép toán trên các hệ đếm
Phép trừ (kết quả dương)
Ví dụ trừ hai số thập phân
Biểu diễn thông tin bên trong MTĐT
2
9
1
2
1
7
0
6
1
2
9
1
2
1
7
0
6
6
0
2
1
Các phép toán trên các hệ đếm
Phép trừ (kết quả dương)
Ví dụ trừ 2 số nhị phân
Biểu diễn thông tin bên trong MTĐT
1
1
1
0
1
0
0
1
1
1
0
1
0
1
1
0
0
1
0
1
0
1
1
10
1
1
1
0
1
0
0
1
1
1
Các phép toán trên các hệ đếm
Phép trừ
Các ví dụ trên số bị trừ nhỏ hơn số trừ, tức là a – b với a < b.
Muốn tính a – b mà a > b ta tính b – a rồi đảo dấu kết quả.
Tra bảng cộng từng hệ đếm để có kết quả nhanh chóng.
Biểu diễn thông tin bên trong MTĐT
Các phép toán trên các hệ đếm
Phép nhân
Ví dụ nhân 2 số thập phân
Biểu diễn thông tin bên trong MTĐT
2
9
1
2
1
8
5
9
2
8
4
3
2
9
1
2
Các phép toán trên các hệ đếm
Phép nhân
Ví dụ nhân 2 số nhị phân
Biểu diễn thông tin bên trong MTĐT
0
1
1
0
0
1
1
0
1
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
0
Các phép toán trên các hệ đếm
Phép nhân
Nhân các số ở hệ khác được thực hiện tương tự như ở hệ thập phân.
Ở mỗi hệ nên lập bảng nhân các ký số và tra trong bảng này để được ngay kết quả.
Bảng nhân số bát phân và số thập lục phân (xem trong giáo trình).
Phép chia
Tương tự như phép chia trong hệ thập phân (xem trong giáo trình).
Biểu diễn thông tin bên trong MTĐT
Biểu diễn thông tin trong MTĐT
Đặc điểm
Được lưu trong các thanh ghi hoặc trong các ô nhớ. Thanh ghi hoặc ô nhớ có kích thước 1 byte (8 bit) hoặc 1 word (16 bit).
Biểu diễn số nguyên không dấu, số nguyên có dấu, số thực và ký tự.
Hai loại bit đặc biệt
msb (most significant bit): bit nặng nhất (bit n)
lsb (least significant bit): bit nhẹ nhất (bit 0)
Biểu diễn thông tin bên trong MTĐT
Biểu diễn số nguyên không dấu
Đặc điểm
Biểu diễn các đại lương luôn dương.
Ví dụ: chiều cao, cân nặng, mã ASCII…
Tất cả bit được sử dụng để biểu diễn giá trị.
Số nguyên không dấu 1 byte lớn nhất là 1111 11112 = 28 – 1 = 25510.
Số nguyên không dấu 1 word lớn nhất là 1111 1111 1111 11112 = 216 – 1 = 6553510.
Tùy nhu cầu có thể sử dụng số 2, 3… word.
lsb = 1 thì số đó là số đó là số lẻ.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn số nguyên có dấu
Đặc điểm
Lưu các số dương hoặc âm.
Bit msb dùng để biểu diễn dấu
msb = 0 biểu diễn số dương. VD: 0101 0011
msb = 1 biểu diễn số âm. VD: 1101 0011
Số âm trong máy được biểu diễn ở dạng số bù 2.
Biểu diễn thông tin bên trong MTĐT
Số bù 1 và số bù 2
Biểu diễn thông tin bên trong MTĐT
0
0
0
0
0
1
0
1
Số 5 (byte)
1
1
1
1
1
0
1
0
Số bù 1 của 5
1
1
1
1
1
0
1
1
Số bù 2 của 5
1
+
0
0
0
0
0
1
0
1
+ Số 5
0
0
0
0
0
0
0
0
1
Kết quả
Biểu diễn số nguyên có dấu
Nhận xét
Số bù 2 của x cộng với x là một dãy toàn bit 0 (không tính bit 1 cao nhất do vượt quá phạm vi lưu trữ). Do đó số bù 2 của x chính là giá trị âm của x hay – x.
Đổi số thập phân âm –5 sang nhị phân?
=> Đổi 5 sang nhị phân rồi lấy số bù 2 của nó.
Thực hiện phép toán a – b?
a – b = a + (–b) => Cộng với số bù 2 của b.
Biểu diễn thông tin bên trong MTĐT
Tính giá trị có dấu và không dấu
Tính giá trị không dấu và có dấu của 1 số?
Ví dụ số word (16 bit): 1100 1100 1111 0000
Số nguyên không dấu ?
Tất cả 16 bit lưu giá trị.
=> giá trị là 52464.
Số nguyên có dấu ?
Bit msb = 1 do đó số này là số âm.
=> độ lớn là giá trị của số bù 2.
Số bù 2 = 0011 0011 0001 0000 = 13072.
=> giá trị là –13072.
Biểu diễn thông tin bên trong MTĐT
Tính giá trị có dấu và không dấu
Nhận xét
Bit msb = 0 thì giá trị có dấu bằng giá trị không dấu.
Bit msb = 1 thì giá trị có dấu bằng giá trị không dấu trừ đi 256 (byte) hay 65536 (word).
Tính giá trị không dấu và có dấu của 1 số?
Ví dụ số word (16 bit): 1100 1100 1111 0000
Giá trị không dấu là 52464.
Giá trị có dấu: vì bit msb = 1 nên giá trị có dấu bằng 52464 – 65536 = –13072.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn số thực
Khái niệm
Để lưu trữ các số lẻ.
Sử dụng dấu chấm động (floating-point).
Chia làm 3 phần:
1 bit để biểu diễn dấu.
Một chuỗi bit để biểu diễn số mũ.
Một chuỗi bit để biểu diễn phần định trị.
Đọc thêm phần 4.4.1.3 Số thực trong giáo trình Tin học cơ sở A.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn thông tin chữ số
Khái niệm
Để biểu diễn các ký tự như chữ thường, chữ hoa, ký hiệu…
Các hệ mã
Hệ thập phân mã nhị phân BCD (Binary Coded Decimal): dùng số nhị phân 4 bit thay thế một số thập phân.
Hệ thập phân mã nhị phân mở rộng EBCDIC (Extended Binary Coded Decimal Interchange Code): dùng 8 bit biểu diễn 1 ký tự.
Biểu diễn thông tin bên trong MTĐT
Biểu diễn thông tin chữ số
Các hệ mã (tiếp theo)
Hệ chuyển đổi thông tin theo mã chuẩn của Mỹ ASCII (American Standard Code for Information Interchange)
1 – 31: ký tự điều khiển.
32 – 47: khoảng trắng, “ # $ % & ‘ ( ) * +, - . /
48 – 57: ký số từ 0 đến 9
58 – 64: các dấu : ; < = > ? @
65 – 90: các chữ in hoa từ A đến Z
91 – 96: các dấu [ ] _ `
97 – 122: các chữ thường từ a đến z
123 – 127: các dấu { | } ~ DEL
Biểu diễn thông tin bên trong MTĐT
Bài tập
Thông tin là gì? Hãy vẽ mô hình và mô tả khái quát quá trình xử lý thông tin trong máy tính?
Đơn vị đo thông tin trong máy tính điện tử là gì? Kể tên một số đơn vị đo thông tin mà bạn biết.
Trình bày hệ đếm nhị phân, bát phân, thập phân, thập lục phân.
Số nguyên trong máy tính.
Bảng mã ASCII.
Biểu diễn thông tin bên trong MTĐT
Bài tập
Đổi sang hệ thập phân (lấy 2 số lẻ)
320316
80.07A16
Đổi sang hệ thập lục phân
1940510
194.0510
Tính giá trị không dấu, có dấu của word
F95616
Thực hiện phép cộng, trừ, nhân
C216 và 9C16
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 6e
320316 = 3*163 + 2*162 + 0*161 + 3*160
320316 = 3*4096 + 2*256 + 0 + 3*1
320316 = 12288 + 512 + 3 = 1280310
320316 = ((3*16 + 2)*16 + 0)*16 + 3
320316 = (50*16 + 0)*16 + 3
320316 = 800*16 + 3 = 1280310
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 6f
80.07A16 = 8*161 + 0*160
80.07A16 + 0*16-1 + 7*16-2 + A*16-3
80.07A16 = 8*16 + 7/256 + 10/4096
80.07A16 = 128 + 0.027 + 0.002
80.07A16 = 128.0310
80.07A16 = 8*16 + 0
80.07A16 + ((A/16 + 7)/16 + 0)/16
80.07A16 = 128 + (7.625/16 + 0)/16
80.07A16 = 128 + 0.4766/16
80.07A16 = 128.0310
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 7a
Đổi 1940510 sang hệ 16
19405 : 16 = 1212 dư 13, vậy a0 = D
01212 : 16 = 0075 dư 12, vậy a1 = C
00075 : 16 = 0004 dư 11, vậy a2 = B
00004 : 16 = 0000 dư 04, vậy a3 = 4
Vậy 1940510 = 4BCD16
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 7b
Đổi phần nguyên 19410 sang hệ 16
194 : 16 = 12 dư 02, vậy a0 = 2
012 : 16 = 00 dư 12, vậy a1 = C
Vậy 19410 = C216
Đổi phần lẻ 0.0510 sang hệ 16
0.05 * 16 = 00.8, vậy a-1 = 0
0.80 * 16 = 12.8, vậy a-2 = C
Vậy 0.0510 = 0.0C16
Vậy 194.0510 = C2.0C16
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 9b
F95616 = 1111 1001 0101 01102
Giá trị không dấu: 6383010
Giá trị có dấu:
Nhận xét: bit msb = 1 nên đây là số âm.
Cách 1: Tính số bù 2 của nó.
Cách 2: 63830 – 65536 = –170610
Biểu diễn thông tin bên trong MTĐT
Giải bài tập 10c
Biểu diễn thông tin bên trong MTĐT
C
2
9
C
E
5
1
C
2
9
C
1
6
2
C
2
9
C
1
8
1
2
D
8
3
6
9
6
7
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Tuấn Vũ
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)