作者beatfuture (菜鸟帽客)
看板Examination
标题[考题] 补数,程式设计的参数"~"
时间Mon Jun 10 16:24:24 2013
版大抱歉,这个单纯是个程式的疑问,但不知道该归类到哪个标题...
-----------------------------------------
程式设计有个参数是"~", ex. int a=5 ; ~a
查过用意是代表该数的1的补数
但小弟用VC2005去跑,
int a=5 ;
int d=~a ;
d会一直跑出-6 ,
请问这个-6是怎麽算出来的呢?
---------------------------------------
小弟以为....
5的2进位为0101
2's 为 011
1's 为 010
请大大帮忙解惑
感谢~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 42.66.225.63
1F:推 carterdunk:~ 是bit change,5 = (0101),~5 = (1010) = -6(2的补数) 06/10 16:38
2F:推 ARCHERDEVIL:第一码是正负号 06/10 16:47
3F:→ beatfuture:回一楼:~不是转成1的补数吗?? 06/10 17:14
4F:→ beatfuture:回二楼:去掉第一码,剩下的值似乎也不是6说,是怎麽算 06/10 17:15
5F:推 ARCHERDEVIL:1000是8同时是-8 然後 1001=-8+1 以此类推 06/10 17:24
6F:推 carterdunk:~ 是转成1's complement但是程式运算是使用2's 06/10 17:26
7F:→ beatfuture:哦喔,所以~5的1的补数是1001,也就是-8+1=-7 对吗? 06/10 17:47
8F:推 ARCHERDEVIL:5=0101,1's 1010, 运算以2's表示 1010 = -6 06/10 17:53
9F:推 MJdavid:可以用[课业]标题分类 置底文有修改标题教学 感谢 06/10 18:11