左邊的x
指計算機中的二進位制補碼,右邊的x
是實際的數值。
正數的補碼就是它本身,很簡單,現在詳細講一下負數的補碼怎麼計算這個數的值。
下面說一下這個公式怎麼用。(以下計算全部以乙個位元組為例)
例1. 計算-1
的補碼對應的原數值:
-1
的原碼是1000 0001
-1
的反碼是1111 1110
-1
的補碼是1111 1111
當我們只知道乙個二進位制字串是某個數x
的補碼時,我們要怎麼計算這個數x
的值呢?
接下來就可以用上面這個公式了。
首先將x
的補碼1111 1111
進行取反,則變成了0000 0000
,這時候,公式的左邊就求出來了,而0000 0000
這個數是0
,所以-(x+1)
就是等於0
, 所以就可以知道x
為-1
了。這就完成了通過x
的補碼1111 1111
求出x的值為2
了。
例2.x
的補碼為1111 1110
,這個數x的值是多少?
首先將補碼每一位全部取反,得到0000 0001
, 等式左邊這個值~x
的值為1
, 所以等式右邊-(x+1)
的值也為1
,那麼就可以計算出x的值為-2
了,不錯,1111 1110
確實就是-2
的補碼。
對於很多理工科的同學,尤其是學習過數電和計算機的同學,應該對補碼的計算深感頭痛吧,我每學期的期末考試前都要拾起這些補碼原碼反碼知識,想想就累人。去年期末考試前,因為某個小哥哥教會了我這個神奇又強大
的公式,讓我以後再也不怕計算補碼啦,哈哈哈~ 沒想到今天又要用到這個公式,而且網上居然都沒有計算這個公式的文章,所以乾脆寫篇部落格分享給大家~如有寫的不對的地方,請各位讀者多多指教,不勝感激~
簡單實用的雙向電平轉換電路 非常實用
本文 乙個stm32的論壇 當我們在使用3.3v的微控制器 比如stm32 的時候,電平轉換就在所難免了,經常會遇到3.3v轉5v,或者5v轉3.3v的情況,這裡介紹乙個簡單的電路,他可以實現兩個電平的相互轉換 注意是相互哦,雙向的,不是單向的 電路十分簡單,僅由3個電阻加乙個mos管構成,電路圖如...
轉pdf亂碼 簡單實用的PDF工具,辦公必備
以下是迅公尺pdf轉換器的主介面 迅公尺pdf轉換器有哪些優點呢?2 功能齊全,支援多種檔案形式的轉換以及其它操作 3 使用方法簡單,普通人都能輕易上手操作 4 轉化效果好,不存在亂碼字元等問題 5 轉化效率高,可多個文件同時轉換 迅公尺pdf轉換器主要功能介紹 迅公尺pdff轉換器主要有三個功能區...
求簡單多邊形面積時非常有用的「鞋帶公式」
學習和介紹乙個有用的求任意簡單多邊形面積的經典公式。所謂 簡單多邊形 可以是凹 或凸多邊形,但原則上邊與邊之間不能有交叉 或者,拓撲一點,從多邊形捲繞數的角度,多邊形內的點捲繞數只能是 1 這個公式有悠久的歷史,而且計算中十分有用,可惜維基裡面只有英文版。這裡的shoelace,鞋帶 並不是人名,所...