首页 > 代码库 > C语言位取反问题
C语言位取反问题
1 具体是先把十进制的数先转换成二进制的原码,
按位取反最后一位加一,然后“按权展开”,得到十进制的结果,
如果第一位是1(指转换成二进制的原码中的第一位),说明故是负数所以要在结果前面加上负号-。
例子:
int x=20;
printf("%d\n",~x);
结果是 -21
求解过程:
x=20,
转换成二进制00010100
取反 11101011 得到~x
然后 按位取反最后一位加一(00010101),然后“按权展开”,得到十进制的结果,
C语言位取反问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。