AR Book การโปรแกรมคอมพวิ เตอร(Computer Programming) หนวยท่ี 10 ตวั ดาํ เนินการระดับบิต (Bitwise Operator) จดั ทําโดย นายธนาการ สนกจิ
เนือ้ หาสาระพอสงั เขปตัวดาํ เนนิ การระดับบิต (Bitwise Operator)ตวั ดาํ เนนิ การระดบั บติ ใชส ําหรับดาํ เนนิ การในระดับบิตกบั ขอ มลู คือในระบบฐานสองตวั ดาํ เนินการ ศัพทเ ฉพาะ ความหมาย การกลับบิต~ Bitwise Complement การเลอ่ื นบิต ขอมูลไปทางซาย<< Left Shif การเลอ่ื นบิต ขอ มลู ไปทางขวา>> Right Shif การกระทาํ AND การกระทาํ& Bitwise AND Bitwise OR^ Bitwise Exclusive OR การกระทาํ ORI Bitwise OR
ซึง่ ผลลพั ธท ่ไี ดจ ากตวั ดําเนินการดังกลาว จะ เปนไปตามตารางคา ความจรงิ ดังนี้ตัวดําเนนิ การ ผลลัพธA B ~a a&b a^b aIb 00 0 100 1 10 1 101 11 0 0011 1 010
ตวั อยาง แสดงการดําเนนิ การดว ย bitwise complement นพิ จน เลขฐานสอง ผลลพั ธ 5 0101 5 ~5 1010 10 109 01101101 109 ~109 10010010 146
ตวั อยา ง แสดงการดําเนินการดว ย Bitwise AND โดยหาคาของ 45 & 119 เมอ่ื 45 = 00101101 , 119 = 01110111 00101101 AND 01110111 00100101 = 37 ดังนั้น 45 & 119 มคี า เทากับ 37ตัวอยา ง แสดงการดําเนนิ การดวย Bitwise Exclusive ORโดยหาคา ของ 12^10 เมอ่ื 12 = 1100, 10 = 1010 1100 XOR 1010 0110 = 6 ดงั นนั้ 12^10 มคี าเทากบั 6
ตัวอยาง แสดงการดาํ เนนิ การดวย Bitwise OR โดยหาคาของ5/10 เมื่อ 5 = 00000101, 10 = 00001010 00000101 OR 00001010 00001111 = 15 ดังนั้น 5/10 มีคา เทากบั 15
โปรแกรม แสดงการใชตัวดําเนินการระดบั บิต 1 #include<stdio.h> 2 int main() 3 { /* shift left */ 4 printf(\"shift left\n\"); 5 printf(\"0x3b << 2 is %x\n\n\",0x3b<<2); 6 /* shift right */ 7 printf(\"shift right\n\"); 8 printf(\"0x3a >> 3 is %x\n\n\",0x3a>>3); 9 /* AND, OR, XOR, NOT */10 printf(\"AND, OR, XOR, NOT\n\");11 printf(\"45 & 119 is %d\n\",45&119);12 printf(\"5 | 10 is %d\n\",5|10);13 printf(\"12 ^ 10 is %d\n\",12^10);
14 printf(\" ~5 is %x\n\",~5);15 getch();16 return 0;17 }ผลลพั ธของโปรแกรม หนวยที่ 10 ตัวดาํ เนินการระดบั บติ ~ << >> & ^ I
Search
Read the Text Version
- 1 - 8
Pages: