平时在coding的时候虽然会遇到位运算但一般也都是正数的位运算,今天突然见到了使用负数的位运算,对此十分好奇和困惑,为此做了下了解,于是有了此文。
给出一些位运算的例子:
其中,正数的位运算是最为常见的,如:
1<<0
1<<1
1<<2
(1<<0)&2
(1<<1)&2
(1<<2)&2
但是对于负数的位运算还是没有见过的,如:
(1<<0)&-2
(1<<1)&-2
(1<<2)&-2
搜索了下网上的资料,还真有这方面的解释:
答案就是:
其实,负数在进行位运算时是以反码形式参与计算的。
===============================
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280466.html