2012-12-21 83 views

回答

1

我覺得你的問題很可能與這一行:

regy = (!regy)+1; 

regy是一個16位值。在多位值上使用否定運算符(!)相當於(value != 0)。因此,對於除零之外的任何值regy將將regy設置爲1.

如果您嘗試反轉所有位並添加1,則需要使用~運算符。

實施例:

regy = (~regy)+1; 
+1

'〜X + 1'是可以寫成'一個二進制補碼反轉-x' – Morgan

相關問題