1 s Complement Bitwise Operators เครื่องหมายดำเนินการทางบิท กลับบิทจาก1เป็น0 จาก0เป็น1
21/4/2561
SONGCHAI PRAPATRUNGSEE
1 s Complement Bitwise Operators เครื่องหมายดำเนินการทางบิท กลับบิทจาก1เป็น0
จาก0เป็น1
เครื่องหมายดำเนินการทางบิท
~ (1’s
complement ) กำหนด y=6 (0110)
เครื่องหมาย
|
การทำงาน
|
ตัวอย่าง
|
|
~
Tilde
(ตัวหนอน)
|
1’s complement
, not
|
x = ~y
|
กลับค่าจาก0เป็น1 จาก1เป็น0
ผลลัพธ์คือ 11111001 (249)
|
00000110 operand1 = 6
~ operator
-----------
11111001 ( ~ operand1
) = 249
ในกรณีตัวแปร
เป็นแบบไม่มีเครื่องหมายลบ เช่น unsigned
char
unsigned แปลว่าไม่มีเครื่องหมายลบ
ก็จะกลับบิท จาก1เป็น0
จาก0เป็น1
ในกรณีตัวแปร
เป็นแบบมีเครื่องหมายลบ เช่น char
127 สูงสุด (ถ้า ~127 จะได้ -128)
2
1
0
กึ่งกลาง บวก (ถ้า ~0 จะได้ -1)
-1 กึ่งกลาง ลบ
-2
-128 ตำสุด
///////////////////////////////////////////////////////////////////////////
/* 20/4/2561
~ (1’s complement, not) Bitwise Operators
*/
#include <REGX51.H>
//REGISTER 51 Header file
void main(void)
{
unsigned char x , y=6;
while (1)
{
x = ~y ; //00000110
}
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น