Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 2: Các kiểu dữ liệu và thao tác

CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
CHÖÔNG 2  
CAÙC KIEÅU DÖÕ LIEÄU VAØ THAO TAÙC  
1. KIEÅU DÖÕ LIEÄU SOÁ NGUYEÂN  
2. SOÁ NGUYEÂN BUØ 2  
3. PHEÙP TOAÙN SOÁ HOÏC TREÂN BIT  
4. PHEÙP TOAÙN LUAÄN LYÙ TREÂN BIT  
5. KIEÅU DÖÕ LIEÄU DAÁU CHAÁM ÑOÄNG  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.1 KIEÅU DÖÕ LIEÄU SOÁ NGUYEÂN  
2.1.1 Soá nguyeân khoâng daáu (unsigned integer)  
Duøng ñeå bieåu dien soaàn lëp lmoätac vuï nhaát ñònh, hay  
chæ ñòa chæ cuûa caùc oâ nhôù.  
Ví duï: 102, 101101B  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.1 KIEÅU DÖÕ LIEÄU SOÁ NGUYEÂN  
2.1.2 Soá nguyeân coù daáu (signed integer)  
Dạng biểu diễn sệt đối, bit có trọng  
số cao nhất sẽ quy định dấu cho số trị tuyệt đối ngay sau,  
nếu bằng 0 số dương, 1 âm.  
• Dạng bù 1 sẽ biểu diễn số âm bằng việc đảo các trạng thái bit  
của số dương tươngược lại.  
Dạng bù 2 sẽ biểu diễn số âm bằng dạng bù 1 của nó công  
thêm 1.  
Daïng bieån dieãn  
Trò ñöôïc bieåu dieãn  
Trò tuyeät ñoái coù daáu  
Buø 1  
0
1
Buø 2  
0
1
00000  
00001  
00010  
00011  
00100  
00101  
00110  
00111  
01000  
01001  
01010  
01011  
01100  
01101  
01110  
01111  
10000  
10001  
10010  
10011  
10100  
10101  
10110  
10111  
11000  
11001  
11010  
11011  
11100  
11101  
11110  
11111  
0
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
10  
11  
12  
13  
-0  
-1  
-2  
-3  
-4  
-5  
-6  
8  
-9  
-10  
-11  
-12  
-13  
-14  
-15  
10  
11  
12  
13  
-15  
-14  
-13  
-12  
-11  
-10  
-9  
-7  
-6  
-5  
-4  
-3  
-2  
-1  
-0  
10  
11  
12  
13  
14  
15  
-16  
-15  
-14  
-13  
-12  
-11  
-10  
-9  
-8  
-7  
-6  
-5  
-4  
-3  
-2  
-1  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.2 SOÁ NGUYEÂN BUØ 2  
Coù hai böôùc trong quy luaät taïo soá buø 2 cuûa moät soá:  
- Laät ngöôïc traïng thai bbedien ö1 qua 0, töø 0 qua  
1 trong maãu, coøn goïi laø pheùp buø 1.  
- Coäng 1 vaøo maãu keát quaû ôû böôùc 1, ñeå coù maãu keát quaû  
sau cuøng.  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.2 SOÁ NGUYEÂN BUØ 2  
Thí duï 2.1: Tìm daïng buø 2 cho soá -12  
Maãu nhò phaân cuûa trò tuyeät ñoái cuûa toaùn haïng 12 laø  
01100.  
Ta thöïc hieän hai böôùc nhö sau:  
B1. Tìm buø 1 cuûa 01100: 10011  
B2. Coäng 1 vaøo daïng buø 1: 10100  
01100  
+
10100  
100000  
Keát quaû laø 0  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.3 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN SOÁ HOÏC  
2.3.1 Coäng vaø tröø  
Ví duï 2.2: Tính bieåu thöùc 11+3.Ta coù:  
Trò thaäp phaân 11 ñöôïc bieåu dieãn döôùi daïng 01011  
Trò thaäp phaân 3 ñöôïc bieåu dieãn ôû daïng  
Toång, coù trò 14, laø  
00011  
01110  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.3 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN SOÁ HOÏC  
2.3.1 Coäng vaø tröø  
Thí duï 2.3: Moâ phoûng thöïc hieän pheùp tröø ôû thao taùc coäng  
ôû ALU, tính bieåu thöùc: 12 19.  
Tröôùc tieân, CPU phaân tích ñeå tính bieåu thöùc treân  
ôû daïng: 12 + (-19), sau ñoù tính buø 2 cuûa 19 (010011) ñeå  
coù -19 (101101). Coäng 12, (001100), vôùi -19 (101101):  
001100  
+ 101101  
111001  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.3 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN SOÁ HOÏC  
2.3.1 Coäng vaø tröø  
Thí duï 2.4: Coäng moät soá vôùi chính noù (x + x), tính 6 + 6.  
Giaû söû ta xeùt caùc maãu coù chieàu daøi 5 bit.  
Maãu nhò phaân 5 bit cuûa 6 laø 00110, töùc daïng khai trieån  
laø 0.24 + 0.23 + 1.22 + 1.21 + 0.20  
Khi ta thöïc hieän 6 + 6, hay 2.6, bieåu thöùc khai trieån seõ  
laø 0.25 + 0.24 + 1.23 + 1.22 + 0.21  
Ta coù keát quaû: 01100, töùc dòch toaùn haïng ban ñaàu töøng  
bit sang traùi moät vò trí.  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.3 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN SOÁ HOÏC  
2.3.2 Môû roäng daáu  
Thao taùc môû roäng theâm bit daáu (0 vôùi soá döông vaø 1 vôùi  
soá aâm) vaøo phía tröôùc daïng buø 2 seõ khoâng laøm thay ñoåi  
giaù trò cuûa soá ban ñaàu. Thao taùc naøy ñöôïc goïi laø thao taùc  
môû roäng daáu (Sign-EXTension), vaø thöôøng ñöôïc vieát taét  
laø SEXT.  
Ví duï: 000101 -> 0000000000000101  
100101 -> 1111111111100101  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.3 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN SOÁ HOÏC  
2.3.3 Traøn soá  
Ví duï: vôùi chieàu daøi toaùn haïng laø 5 bit, tính bieåu thöùc 9  
+ 11, ta coù:  
01001  
+
01011  
10100  
Keát quaû ai cuõng bieát laø 20, nhöng ta laïi nhaän ñöôïc moät  
soá aâm, do bit troïng soá lôùn nhaát laø 1, töùc -12!  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
Moät caùch toång quaùt, khi ñeà caäp tôùi traïng thaùi luaän lyù  
ñuùng, thì ta coù theå nghó ngay noù laø bit 1, vaø ngöôïc laïi;  
coøn neáu gaëp traïng thaùi luaän lyù sai, thì cuõng coù nghóa laø  
ta coù bit 0.  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.1 Pheùp toaùn AND  
AND laø moät haøm luaän lyù nhò phaân, noù ñoøi hoûi hai  
toaùn haïng nhaäp, moãi toaùn haïng laø moät trò luaän lyù 0 hoaëc  
1. Ta coù theå hình dung toaùn haïng naøy hoaït ñoäng theo  
kieåu: caû hai ñuùng thì noù môùi ñuùng.  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.1 Pheùp toaùn AND  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.1 Pheùp toaùn AND  
Toaùn haïng naøy coù theå toång quaùt cho caùc maãu n bit.Ví duï  
2.5:  
Neáu c laø keát quaû AND cuûa a vaø b, vôùi  
a = 0011 1101 vaø b = 0100 0001, thì c baèng bao nhieâu ?  
a : 0101  
b : 0100 0001  
c : 0000 0001  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.1 Pheùp toaùn AND  
Ví duï 2.6:  
Giaû söû chuùng ta coù moät maãu nhò phaân 8 bit ñöôïc  
goïi laø A, trong ñoù hai bit troïng soá nhoû nhaát beân phaûi cuûa  
A coù yù nghóa quan troïng. Laøm sao caùch ly hai bit naøy ñeå  
xeùt ?  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.1 Pheùp toaùn AND  
Chuùng ta duøng maët naï bit.  
Moät maët naï bit laø moät maãu nhò phaân maø coù theå laøm cho  
ta thaáy ñöôïc hai phaàn khaùc nhau trong caùc bit cuûa A,  
phaàn ta caàn quan taâm vaø phaàn ta muoán boû qua.  
Trong tröôøng hôø, mt i00 0011 khi ñöôïc  
AND vôùi A seõ taïo ra caùc bit 0 trong caùc bit töø vò trí 7 tôùi  
vò trí 2, coøn caùc bit ôû vò trí 1 vaø 0 thì seõ ñöôïc giöõ nguyeân.  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.2 Pheùp toaùn OR  
OR cuõng laø moät pheùp toaùn luaän lyù nhò phaân. Noù yeâu  
caàu hai toaùn haïng ñaàu vaøo laø hai trò luaän lyù. Khaùc vôùi  
AND, chæ caàn moät trong hai toaùn haïng ñaàu vaøo laø 1 thì  
keát quaû ñaàu ra cuûa OR ñaõ laø 1.  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.2 Pheùp toaùn OR  
CHƯƠNG 2  
CÁC DỮ LIỆU VÀ THAO TÁC  
2.4 PHEÙP TOAÙN TREÂN BIT PHEÙP TOAÙN LUAÄN  
LYÙ  
2.4.2 Pheùp toaùn OR  
Ví duï 2.7:  
Neáu c laø keát quaû OR cuûa a vaø b,  
vôùi a = 0011 1101 vaø b = 0100 0001, thì c baèng bao  
nhieâu ?  
a : 001
b : 0100 0001  
c : 0111 1101  
Tải về để xem bản đầy đủ
pdf 36 trang yennguyen 12/04/2022 4660
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính và ngôn ngữ C - Chương 2: Các kiểu dữ liệu và thao tác", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_thong_may_tinh_va_ngon_ngu_c_chuong_2_cac_kieu.pdf