วันเสาร์ที่ 21 เมษายน พ.ศ. 2561

1 s Complement Bitwise Operators เครื่องหมายดำเนินการทางบิท กลับบิทจาก1เป็น0 จาก0เป็น1










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
}
}




ไม่มีความคิดเห็น: