位运算和移位运算
提问人: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位丢弃,在右边补y个0.
c.右移运算:x >> y.将x右移y位,这需要区分x是有符号数还是无符号数。在x是无符号数时,只需将x的最右边的y位丢弃,在左边补上y个0。在x是有符号数时,又分为x是正数还是负数。正数时,同无符号数的处理相同;负数时,将将x的最右边的y位丢弃,在左边补上y个1.
继续查找其他问题的答案?
相关视频回答
回复(0)
点击加载更多评论>>