c语言的按位运算符怎么操作!?

Python017

c语言的按位运算符怎么操作!?,第1张

简单说,c编程的时候输入的都是十进制数字,但如果你要对二进制数字进行运算,就要用这种按位运算的符号。此前编译程序先要把十进制变成二进制,比如int

x=67的二进制是这样的。

67->00000000

00000000

00000000

00100011

比如:

&:有0则结果为0。

1&1=1,

其余组合为0

比如67&1=1

|:有1则结果为1。

0|0=0,

其余组合为1

比如67|1=67

^:异或。相反则为1

比如67^1=66

~取反:

1变0,0变1

比如67取反就变成了

11111111

11111111

11111111

11011100

也就是-66

>>:右移:

上面的就变成了00000000

00000000

00000000

00010001,也即33

<<:左移:上面的就变成了00000000

00000000

00000000

01000110,也即134

在C代码中可设置如下自编的intokey(  )函数,用以接收方向键值。库函数kbhit( )是检测是否有按键被按下,库函数getch(  )是读取键盘按键值的,不需按回车,也不回显。dir是代表方向的变量,根据不同的方向键值,让dir取1到4这四个不同的值。其它的程序段就可根据dir的值让东西朝某个方向移动。方向键按下后会产生2个值,第一个是224,另一个分别为上下左右的72、80、75、77,因此要读取2次值来判断。要包含#include<conio.h>.

void intokey(  )

{ int  flag

  if ( kbhit(  ) )   //判断有键按下时才执行下面的操作

   { flag = getch(  )  //用flag来获取键值

    if (flag==224) flag = getch(  )  //值为224时表示按下了方向键,要再次获取才行

   if (flag==72 &&dir != 2)  dir = 1//方向键为“上”且原方向不为下时,让dir=1.

if (flag==80 &&dir != 1) dir = 2//方向键为“下”且原方向不为上时,让dir=2.

if (flag==75 &&dir != 4)  dir = 3//方向键为“左”且原方向不为右时,让dir=3.

if (flag==77 &&dir != 3)  dir = 4//方向键为“右”且原方向不为左时,让dir=4.

  }

}

注:这个函数来源于某些“贪吃蛇”的代码,略有修改,足可获取方向键值。其中的1、2、

3、4分别对应着上下左右。

程序语言里面“或者”的“||”是特殊符号,在任何输入文档中都可以输出,在键盘按键输出步骤如下:

1、首先在键盘上按下shift键,不要松开,如图中红框圈中所示按键:

2、然后在键盘上按下回车enter键左边的键(键盘不同位置有所不同,也可能在上面),双竖线和右斜线共同所在的按键,如图红框圈中所示:

3、按以上操作步骤按下后就会出来一个 | 符号,不要松开shift键,再按一次双竖线和右斜线共同所在的按键就可以打出 || 符号。