負數的二進位制轉換,
其實,
容易,
容易理解。
方法/步驟
首先,來個-5,
實踐出真知嘛。
把5轉化為二進位制位元組形式。
得到101,
然後補零。
這個時候,原碼就出來了。
然後,取反(0的變成1,1的變成0。)
/*一個整數按照絕對值大小轉換成的二進位制數,是為原碼。
原碼就上面的:
00000101。*/
得到了反碼,
嗯,反碼事和原碼反著來的。
然後,加一。
//反碼加一叫補碼。
補碼就是負數在計算機中的二進位制表示方法。
那麼,11111011表示8位的-5,
如果要表示16位的-5 ,
在左邊添上8個1即可。
那麼,知道一個負數,求二進位制數的方法已經知道了,
若果,知道一個二進位制數,怎麼求其十進位制數呢(對負數)
隨便來個負數的二進位制數。
先減一,反著上面的方法來。
//上面最後不是加一麼,那現在就減一
取反。
//上面不是取反了麼,這裡也取反。
那麼,接下來就是計算了。
計算結果是13,
那麼這個二進位制數就是:
-13。
那麼,用計算器來驗證一下。
其實負數的:
十進位制變二進位制:原碼--反碼--加一(補碼);
二進位制變十進位制:減一--反碼--原碼。