java入門編程 由補碼求原碼如何求?
由補碼求原碼如何求?1. 二進制具有易于模擬電路或NAND的優(yōu)點,易于計算機設計,抗干擾能力強(這可能是我當時在我最初的船員手冊中所說的)-所以原始代碼誕生了;2。原來的代碼不能解決正負之和等于0的
由補碼求原碼如何求?
1. 二進制具有易于模擬電路或NAND的優(yōu)點,易于計算機設計,抗干擾能力強(這可能是我當時在我最初的船員手冊中所說的)-所以原始代碼誕生了;
2。原來的代碼不能解決正負之和等于0的問題(你可以找到一個正負樹原來的代碼自己加)-所以引入了逆代碼;
3。原始碼和逆碼都有兩個零(正零和負零),為了解決這個問題,我們引入了補碼(補碼的0是唯一的)
用來找出47的8位原始碼。當然,你也可以直接把它拼起來。我的計算思想便于您以后編寫程序時設計算法。
最高位為符號位:
47的16位原始碼:0000 0000 0010 1111;-47的16位原始碼:1000 0000 0010 1111
除符號位外,其余位均為反位:
47的16位反碼:0000 0000 0010 1111;-47的16位反碼:1111 1111 11001 0000
47的16位補碼:0000 0000 0010 1111;-47的16位補碼:1111111111100001
計算方法如下:
其余可以自己計算。如果你不明白,你最好自己計算其他的。
補碼1000怎么求原碼,原碼1000怎么求補碼?
二進制數1000是負數(因為第一位是1)。當第一位不變時,負數的補碼將其他位反轉(即1變?yōu)?,0變?yōu)?),然后它是1111;然后它與1相加(即1111 0001),它是10000。
1000的補碼是10000。
補碼1000的原始代碼是10000。
對于二進制系統(tǒng),減去一然后取反的結果與減去一然后加一的結果相同,因此兩者都是取反然后加一。
怎么求補碼的原碼?
補碼的補碼與原碼相等(即補碼視為原碼,原碼通過將原碼轉換為補碼的另一操作獲得)。例如:-4的8位原始碼:1000 0100反碼:1111 1011補碼:1111 1100將當前的1111 1100作為原始碼,然后請求補碼:反碼:1000 0111補碼:1000 0100-結果就是所需的原始碼。
為什么補碼的補碼是原碼?
給定一個數字的補碼,有兩種操作可以找到原始代碼:(1)如果補碼的符號位為“0”,則表示它是正數,因此補碼是該數字的原始代碼。(2) 如果補碼的符號位是“1”,則表示它是一個負數。查找原始代碼的操作可以是:符號位為1,其他位取反,然后整數加1。例如,如果已知補碼11111 001,則原始代碼為10000111(-7):因為符號位是“1”,這意味著它是一個負數,所以該位保持不變,仍然是“1”;其他7位1111001在求反后是0000111;如果加1,則是10000111。擴展數據:摘要:如果一個數字的補碼已知,那么查找原始代碼的操作實際上是再次查找補碼。補碼轉換成原始碼:符號位保持不變,數值位逐位反轉,最后一位加1。即補碼的補碼等于原碼。正整數的原碼、逆碼和補碼是一樣的,即當你看到符號位(第一位)是0時,你可以根據它來寫另外兩個碼。所以如果我們知道一個正數的補碼,找到它的原始碼,這兩個數是一樣的。