c/c++補數問題

Home Home
引用 | 編輯 csr
2010-11-13 09:34
樓主
推文 x0
剛在讀c/c++
其中有一個例子
n=12
那~n的1之補數為-13
因為自己剛 ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 csr
2010-11-20 17:14
1樓
  
為何沒有大大肯幫忙呢?
謝謝

獻花 x0
引用 | 編輯 ronlain
2011-01-05 23:42
2樓
  
n = 0000 1100 = 12
~n = 1111 0011 = -13

1補數是指兩數之和為1,則此兩數互為1的補數,亦即0和1互為1的補數。換言之,欲求得二進位數的1補數,只需將0變成1,1變成0即可;例如10102 的1補數為01012。

獻花 x0
引用 | 編輯 csr
2011-01-08 14:59
3樓
  
下面是引用 ronlain 於 2011-01-05 23:42 發表的 : 到引言文
n = 0000 1100 = 12
~n = 1111 0011 = -13

1補數是指兩數之和為1,則此兩數互為1的補數,亦即0和1互為1的補數。換言之,欲求得二進位數的1補數,只需將0變成1,1變成0即可;例如10102 的1補數為01012。

謝謝大大解說
但不知這-13是如何導出來
可以幫小弟說明嗎
謝謝

獻花 x0
引用 | 編輯 ronlain
2011-01-08 23:36
4樓
  
~n 代表 n的1補數
你把12變成2進制 再把0變成1 1變成0
結果換成10進制就是-13

獻花 x0
引用 | 編輯 csr
2011-01-28 18:05
5樓
  
下面是引用 ronlain 於 2011-01-08 23:36 發表的 : 到引言文
~n 代表 n的1補數
你把12變成2進制 再把0變成1 1變成0
結果換成10進制就是-13

感謝大大說明
總算有些會意過來了
謝謝

獻花 x0