補數,程式設計的參數"~" - 考試

Table of Contents

版大抱歉,這個單純是個程式的疑問,但不知道該歸類到哪個標題...
-----------------------------------------
程式設計有個參數是"~", 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

請大大幫忙解惑
感謝~~~

--

All Comments

Irma avatarIrma2013-06-14
~ 是bit change,5 = (0101),~5 = (1010) = -6(2的補數)
Emma avatarEmma2013-06-15
第一碼是正負號
Daniel avatarDaniel2013-06-19
回一樓:~不是轉成1的補數嗎??
Regina avatarRegina2013-06-20
回二樓:去掉第一碼,剩下的值似乎也不是6說,是怎麼算
Cara avatarCara2013-06-24
1000是8同時是-8 然後 1001=-8+1 以此類推
Robert avatarRobert2013-06-27
~ 是轉成1's complement但是程式運算是使用2's
Gilbert avatarGilbert2013-06-30
哦喔,所以~5的1的補數是1001,也就是-8+1=-7 對嗎?
Rebecca avatarRebecca2013-07-02
5=0101,1's 1010, 運算以2's表示 1010 = -6
Cara avatarCara2013-07-03
可以用[課業]標題分類 置底文有修改標題教學 感謝