1
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Cấutrúcmáytính
Mã và các hệđếm
23/10/2008 TS. Nguyen Duc Khoat
Các mạch điệntử củamáytínhđượcxâydựng từ các
vi mạch (IC chip).
Mỗivi mạch bao gồmhàngtrămnghìnđèn bán dẫn
(Transistor).
Các vi mạch là các mạch số (digital circuit):thao tác
vớicácmứctínhiệu điệnáprờirạc.
Ngườitasử dụng ký hiệu0 và1 đạidiệnchotínhiệu
điệnáprờirạcthấpvàcaotương ứng. Các ký hiệu
này đượcgọilàcácchữ số nhị
phân (binary digit)
hay các bit.
Tấtcả các thông tin đượcxử lý trong máy tính đều
đượcbiểudiễnbằng các chuỗichữ số 0 và 1.
Chương 1 Mã và các hệđếm
Giớithiệu
2
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Quy tắckýhiệu đặcbiệt để biểudiễncácthông
tin. Mộtmãgồmnhiềutự mã, mỗitừ mã có
mộtkýhiệuxácđịnh và biểudiễnchomột
thông tin.
Dạng mã thông dụng là mã số nhị phân. Mỗitừ
mã củamãsố nhị phân gồmmột dãy liên tiếp
các số hạng gọilàbit, mỗisố hạng chỉ có thể
biểudiễnbằng hai chữ số 0 hoặc1.
Mộ
tmãnhị phân có độ dài n bit sẽ có thể có 2
n
tổ hợp khác nhau, và có thể biểudiễncho2
n
thông tin.
Mã là gì?
23/10/2008 TS. Nguyen Duc Khoat
Định nghĩa:là những mã để biểudiễncácthôngtin về
lượng
Mộtsố N có thể biểudiễn ở nhiềuhệđếm khác nhau,
công thứctổng quát để biểudiễnsố N
Chương 1 Mã và các hệđếm
)1(
00
∑∑
−
==
+=
m
k
k
k
n
k
k
k
RaRaN
1 ,2,1,0
−
= Ra
k
Cơ số củahệ đếm
Các số nguyên
Hệđếm
3
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
mknn
aaaaaaaaN
−−−−
= ,,
21011
trong dãy số trên đặctrưng cho số hạng củacôngthức(1)
k
a
k
k
Ra
Hệ số
k
R
gọilàtrọng số của
k
a
23/10/2008 TS. Nguyen Duc Khoat
Hệ thậpphân
Biểudiễnsố N=(362,25)
10
Hệ nhị phân
Biểudiễnsố N=(11011.01)
2
.9, 2,1,0,10
=
=
k
aR
21012
1010
10.510.210.210.610.3)25,362(
−−
++++==N
.1,0,2
=
=
k
aR
10
2101234
22
)25,27(
25.00120816
2.12.02.12.12.02.12.1)01.11011(
=
++++++=
++++++==
−−
N
Chương 1 Mã và các hệđếm
Các hệđếm thông dụng
4
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Hệ cơ số 16 (Hệ Hexadecimal)
Biểudiễnsố N=(2B6)
16
Hệ cơ số 10 sang cơ số 2
FEDCBAaR
k
,,,.,,,9, 2,1,0,16
=
=
10
012
16
)694(
16.616.1116.2)62(
=
++==
h
BN
Các hệđếm thông dụng
Trong 173, 128 ? co 173 -128 = 45
45, 64 ? khong, giu nguyen 45
45, 32 ? co 45 - 32 = 13
13, 16 ? khong, giu nguyen 13
13, 8 ? co 13 - 8 = 5
5, 4 ? co 5 - 4 =
1, 2 ? khong, giu nguyen 1
1, 1 ? co 1 - 1 = 0
1 (MSB
)
0
1
0
1
1
0
1 (LSB
)
Most Significant Bit
Least Significant Bit
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các hệđếm thông dụng
Hệ cơ số 10 sang cơ số 2
5
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các hệđếm thông dụng
Hệ cơ số 16 va cơ số 2
39EABCơ số 16
BAE93Dạng Hex
10111010111010010011Nhóm nhị phân
111001111010101011Nhị phân
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các hệđếm thông dụng
Bảng chuyển đổicáchệ cơ số
6
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Bit = 1 vị trí nhị phân
Byte = 1 đon vị gồm8 Bit
Word = 1 đon vị gồm 2 Byte (16 Bit)
Double Word = 1 đon vị gồm 4 Byte (32 Bit)
Kilobyte = 2
10
(=1024) Byte
Megabyte = 2
10
Kilobyte (= 2
20
Byte)
Gigabyte = 2
10
Megabyte (= 2
30
Byte)
Terabyte = 2
10
Gigabyte (= 2
40
Byte)
Mộtsốđơnvị cơ bản
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Hai bit đặcbiệtcủamộtbyte hay mộtword
bit có trọng số cao nhất(Most Significan Bit, MSB) là
bit nằmtận cùng bên trái(bit 15/7 đốivớiword/byte)
bit có trọng số nhỏ nhất(Least Significan Bit,LSB) là
bit nằmtận cùng bên phải(bit 0).
Số nguyên không dấu(unsigned integers): có độ dài
8/16 bit củamộtbyte/word, biểudiễncácsố nguyên
dương, các số này dùng để biểudiễncácđạilượng
dương(địachỉ ô nhớ, bộđếm…)
Biểudiễnsố nguyên
7
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Số nguyên có dấu(signed integers):có thể là số
dương hoặcsố âm.
Bit có trọng số cao nhất MSB được dùng để biểudiễn
dấucủasố,
MSB=1 biểudiễnsố âm,
MSB=0 biểudiễnsố dương.
Các số âm đượclưu trong VXL, VĐK dướidạng số bù
hai.
Số bù 1 là mộtsố nguyên nhận đượcbằng cách lấy
phầnbùcủacácbit củasố nguyên đãcho(đảobit),
thay 0 bằng 1 và ngượclại
Biểudiễnsố nguyên
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Số bù 1 (tiếp)
Vd:
0000 1010 ;(10)
10
1111 0101 ;(245)
10
số bù 1 của10
10
Số bù 2 là mộtsố nguyên là mộtsố nguyên nhận
đượcbằng cách cộng 1 vào số bù 1 của chính nó.
Vd:
0000 1010 ;(10)
10
1111 0101 ;(245)
10
số bù 1 của (10)
10
+1
1111 0110 ;Số bù 2 của (10)
10
Biểudiễnsố nguyên
8
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Số dương
Biểudiễnsố nguyên
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Số âm
Cách tìm:
Mã bù 2
2
n _
|X|
Vd: Tìm biểudiễnnhị phân có độ dài 8 bits củasố -
1
-1=2
8
-1=256-1=(255)
10
=(11111111)
2
Chú ý: Mã bù 2 đượcsử dụng trong cấutrúcbêntrongcủa
đơnvị xử lý toán họcALU của VXL, VĐK
Biểudiễnsố nguyên
9
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Biểudiễnsố nguyên
Số âm (tiếp)
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Mộtsố có độ dài n bits có 2
n
tổ hợp khác nhau
trong đó
[0…2
n-1
-1] biểudiễnsố dương
[2
n-1
…2
n
-1] biểudiễnsố âm
Biểudiễnsố nguyên
Số âm (tiếp)
10
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Phần
số dương
Phần
số âm
Bit dấu
Biểudiễnsố nguyên
Số âm (tiếp)
Biểudiếnsố âm, dương củasố có độ dài 4bits
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Biểudiễnsố nguyên
Số âm (tiếp)
Biểudiếnsố âm, dương củasố có độ dài 4bits
11
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Vd
Biểudiễnsố nguyên
Số âm (tiếp)
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Sử dụng mộtkýhiệudấuchấm ảo để biểudiễnmộtsố
thực. Dấuchấm ảo đượcsử dụng trong từ dữ liệu để
phân biệtvàngăncáchgiữaphầnbiểudiễngiátrị
nguyên và mộtphầnlẻ thậpphâncủadữ liệu.
Dấuphẩytĩnh và động
Dấuphẩytĩnh
12
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
10
2101234
22
)25,27(
25.00120816
2.12.02.12.12.02.12.1)01.011011(
=
++++++=
++++++==
−−
N
22
)01.011011(
=
N
Dấuphẩytĩnh và động
Dấuphẩytĩnh
Vd
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Dấuphẩy động là mộtphương pháp biểudiễnsố
khoa họcbaogồm3 phần:
Phầnbiểudiếnsố dương hay âm
Phầnbiểudiễnsố mantissa
Phầnbiểudiễnsố exponent
Nhược điểm: vùng biểudiễnsố nguyên bị hạnchế
bởidấuphảytĩnh đượcgáncốđịnh -> hiệntượng
tràn số khi thựchiệncácphépnhânhaisố lớn
Dấuphẩytĩnh và động
Dấuphẩytĩnh
13
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
(-1)
S
x M x 2
e-bias
Bias =-127 cho số 32 bits
=-1023 cho số 64 bits
Mantissa
Exponent có độ dài 8 bits cho số 32 bits
Có độ dài 11 bits cho số 64 bits
Dấuphẩytĩnh và động
Dấuphẩy động (dạng nhị phân)
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Mantissa:để biểudiễncơ số, dạng củaM là1.f
hay 0.f tuỳ theo định dạng.
Theo IEEE 754 dạng củaM là1.f (số 1 trong định
dạng này là sốẩn Æ chỉ cầnquantâmtới f )
1≤ M <2
7=7.000x10
0=
70.000x10
-1
=
0.7000x10
1
=.007x10
-3
(-1)
S
x M x 2
e-bias
Dấuphẩytĩnh và động
Dấuphẩy động (dạng nhị phân)
14
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Dấuphẩytĩnh và động
Dấuphẩy động (chuẩn IEEE 754)
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Vd:biểudiễnsố dướidạng dấuphẩy động có
độ dài 32 bits theo IEEE 754
375.28
210
)00011100()28( =
3-
2-
1-
210
2 so trongcobit :1 1,00,5x2
2 so trongcobit :1 1,50,75x2
2 so trongcobit :0 75,00,375x2
)375,0(
=
=
=
⎯→⎯ N
210
)011.11100()375.28( =
exponent
Dấuphẩytĩnh và động
Dấuphẩy động (chuẩn IEEE 754)
2
40
)10000011(1311274
2)0111100.1(2)011.11100(
==⇒−=
×=×=
ee
15
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Mantissa: có độ dài 23 bits Æmở rộng bỏ
1. và thêm phầnthập phân cho đếnkhiđủ 23 bits
Kếtqủa
0111100.1
00000000000000000111100
00000000000000000111100 10000011 0
Bit dấu
Exponent
Mantissa
Dấuphẩytĩnh và động
Dấuphẩy động (chuẩn IEEE 754)
Vd (tiếp)
23/10/2008 TS. Nguyen Duc Khoat
Chươn
g
1 Mã và các hệ
đ
ế
m
Tìm số dạng thậpphâncủasố dấuphẩy động biểu
diễndướidạng 32 bits sau: BD300000h
216
)0000 0000 0000 0000 0000 0011 1101 1011()300000( =BD
Bit dấu=1 số âm
Exponent=0111 1010
=122
Æsố mũ:122-127
=-5
Mantissa=011 0000 0000 0000 0000 0000
=1. 011 0000 0000 0000 0000 0000
1.011x2
-5
=0.00001011
=1/32+1/128+1/256
=11/256
=0,04296875
-0,04296875
Dấuphẩytĩnh và động
Dấuphẩy động (chuẩn IEEE 754)
Vd (tiếp)
16
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
OR: L1 = C1 + C2; S = A + B
AND: L2 = C1 . C2; S = A . B
NOR: L1 = ¨C1 +C2¨; S = ¨A + B¨
NAND: L2 = ¨C1.C2¨; S = ¨A.B¨
OR
AND NOR NAND
Các phép toán họctrongcáchệđếm
Phép cộng nhị nhân
Các phầntử logic
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép cộng nhị nhân
Các phầntử logic
OR
AND
NOR
XOR
NOT
NAND
17
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép cộng nhị nhân
Phép cộng chưahoànchỉnh
1011
0101
0110
0000
csba
S=a+b ; c: carry
Mạch logic ?
&
=1
a
b
s
c
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép cộng nhị nhân
Phép cộng hoàn chỉnh
S
i
=a
i
+b
i
+c
i-1
;c
i-1
: carry củaphépcộng i-1
Mạch logic ?
210101110
101000100
210010011
101001001
101001010
000000000
c
i+1
s
i
r
i
g
i
p
i
c
i
b
i
a
i
311010111
210101101
&
=1
&
=1
a
i
≥
1
c
i
b
i
s
i
c
i+1
p
i
g
i
r
i
18
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép trừ nhị nhân
0011
0101
1110
0000
csba
S=a-b ; c: carry
Mạch logic ?
=1
&
=1
&
=1
&
≥
1
a
1
b
s
c
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép trừ =phép cộng?
1++=−= BABAS
A:
B:
-
A
B
1
+
Mã bù 2
+
S:
19
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép nhân
Nhân hai số không dấu
Vd:
Số bị nhân:
Số nhân:
+
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép nhân
Nhân số có dấuvớisố không dấu(số bị nhân âm)
Vd:
Số bị nhân:
Số nhân:
x
+
-3780
20
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Các phép toán họctrongcáchệđếm
Phép nhân
Nhân số có dấuvớisố không dấu(số nhân âm)
Vd:
Số bị nhân:
Số nhân:
x
+
+
-6825
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Bảng mã ASCII
(American Standard Code for Information Interchange)
Trong bảng mã ASCII chỉ có 95 ký tự (32
÷
126) là có thể in được, các mã còn lại không thể in đượcra
màn hình
ASCII standard (127 ký tự-6bits) ASCII étendu (255 ký tự-7bits)
21
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Bảng mã ASCII
(American Standard Code for Information Interchange)
ASCII standard (127 ký tự-6bits) ASCII étendu (255 ký tự-7bits)
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Bài tập
Đổinhững số nhị phân và số hex sau ra số thập phân:1110,
100101011110, A5BCh, F2DEh.
Đổinhững số thập phân sau: 98, 124 ra số nhị phân; 954, 23390 ra số
hex
Đổinhững số sau: 10011100, 1011100011000011 ra số hex, ABCDh,
DE2Ah ra số nhị phân.
Biểudiễncácsố sau dướidạng số hex 16 bit: 231, 3245, -37, -198
Thựchiện các phép cộng sau:
1001001b + 1000110b
11010000b + 01010011b
B2CDh + 1234h
DEFC1h + AC342h
22
23/10/2008 TS. Nguyen Duc Khoat
Chương 1 Mã và các hệđếm
Bài tập
Thựchiệncácphéptrừ sau:
11011b – 10011b
01110111b – 00101011b
5FFCDh – 345FCh
1234Fh – 0FCD1h
Biểudiễncácsốđượcmãhoádướidạng ASCII sau ra ký
tự:
41 74 74 61 63 6B 20 61 77 6E
Để chuyểnmộtchữ cái thành mộtchữ in chứatrongmột
byte thì cầnphảilàmnhư thế nào? (hãy dựavàobảng
ASCII).
Hãy chuyểncácsố thập phân thành mã ASCII.