X 我知道了TIPS:左右滑动导航栏可以查看更多栏目
大家好!向各位求教:int x=9,y=5,z,a;z=~x;a=~y;z的值为什么是-10,a的值为什么是-6?
>> 本文固定链接: http://www.vcgood.com/archives/1864
>> 转载请注明: lxnini 2007年10月10日 于 C语言帝国 发表
“~”是不是求后面变量的补码啊?
二进制 十进制 取反前:X 00001001 9 取反后: X 11110110 -10 取反前:y 00000110 5 取反后:y 11111001 -5 书上是这样说的 我认为(-9)+(-1 )=-10 我有个问题想问你,希望你能告诉我,我的问题就在你楼上。
初级菜鸟:谢谢你的回复.
但9取反后为11110110,为什么输出值为 -10呢.
书上说:因为上面的数字是1下面的就是0,上面的数字是0下面的就是1
输出值是-10,设取反前9为x,取反后为(-x)减1,就是(-9)-1书上只写了那几排两进制数,我看了好几个数的去反值都符合着个规律我想应该是这样的,你可以上机试一试。
你还没回答我的问题呢,我就在你下面。
在机子上试了下,无论x取什么值,z都是等于-x-1.原理还是不懂。
你安装的是什么版本的编程软件,如何安装。如何进入编程环境。你的问题等我进入编程环境后告诉你。
你必须先 登录才能发表评论。
“~”是不是求后面变量的补码啊?
二进制 十进制
取反前:X 00001001 9
取反后: X 11110110 -10
取反前:y 00000110 5
取反后:y 11111001 -5
书上是这样说的
我认为(-9)+(-1 )=-10
我有个问题想问你,希望你能告诉我,我的问题就在你楼上。
初级菜鸟:谢谢你的回复.
但9取反后为11110110,为什么输出值为 -10呢.
书上说:因为上面的数字是1下面的就是0,上面的数字是0下面的就是1
输出值是-10,设取反前9为x,取反后为(-x)减1,就是(-9)-1书上只写了那几排两进制数,我看了好几个数的去反值都符合着个规律我想应该是这样的,你可以上机试一试。
你还没回答我的问题呢,我就在你下面。
在机子上试了下,无论x取什么值,z都是等于-x-1.
原理还是不懂。
你安装的是什么版本的编程软件,如何安装。如何进入编程环境。你的问题等我进入编程环境后告诉你。