位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

位运算和移位运算

提问人:ylm发布时间:2020-09-25

1& :如果两个相应的二进制位都为1,则该位的结果值为1;否则为0.

2| :两个相应的二进制位中只要有一个为1,该位的结果值为1.

3^ :若参加运算的两个二进制位同号则结果为0(假)异号则结果为1(真).

4~ :~是一个单目(元)运算符,用来对一个二进制数按位取反,即将0变1,将1变0.

5>> :表示将a的各二进制位右移N位,移到右端的低位被舍弃,对无符号数,高位补0.

6<< :左移运算符是用来将一个数的各二进制位全部左移N位,右补0.

注意

a.任何一个数和0异或是它的本身,和自身异或为0.

b.左移运算:x << y.x左移y位,将x最左边的y位丢弃,在右边补y0.

c.右移运算:x >> y.x右移y位,这需要区分x是有符号数还是无符号数。在x是无符号数时,只需将x的最右边的y位丢弃,在左边补上y0。在x是有符号数时,又分为x是正数还是负数。正数时,同无符号数的处理相同;负数时,将将x的最右边的y位丢弃,在左边补上y1.

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部