剛纔看java視頻偶然發現有這麼一個東西,之前看csapp不知道是我自己忘了還是沒有。
以4位數字來舉例
負數=對應的正數取反+1
舉例:1001 = (0111)取反->(1000) + 1
那麼爲什麼能夠這樣轉化呢。一個新的概念就是模。這個模就是一個數據範圍能夠表示的數字個數,比如4位,那麼它的模就是2^4 = 16
有一個非常重要的公式,就是正數+對應的負數在不丟棄最高位的情況下等於模數。這也就是爲什麼能夠像上面那樣進行正負數轉化的一個重要原因。因爲在正數和負數想相加等於模數。而這個公式裏面的負數等於正數取反加1。。。。
。。。。。。。尼瑪,說了半天怎麼感覺還是亂亂的,算了,不管了,反正就知道這麼兩個事就行了。
1、負數=對應的正數取反+1
2、第一個式子之所以 可以這麼推到是因爲正數+對應負數=模數的原因