描述
輸入乙個整型(int)的整數,輸出它的32位二進位制補碼。
輸入乙個整型整數。
輸出輸出一行,即該整數的補碼表示。
樣例輸入
7樣例輸出
00000000000000000000000000000111
第一位為符號位,0表示正數,1表示負數;
正數的原碼,反碼,補碼相同;
負數的反碼為各位取反,補碼為反碼加一;
2,原:0010 反:0010 補:0010
-2,原:1010 反:1101 補:1110
另外0原碼是00000000 -0原碼是10000000
0反碼是00000000 -0反碼是11111111
0補碼是00000000 補碼沒有正0與負0之分
可以將0納入不小於0的情況下處理
先將原數轉化為二進位制並複製到答案中
再根據正負求補碼
如果為負數時先轉換為反碼,再求補碼
#include
#include
using
namespace std;
int ans[33]
, temp[33]
;int
main()
while
(n !=0)
;//得到二進位制
for(
int i =
0; i < size;
++i)
if(flag)
for(
int i =
31; i >0;
--i)}}
ans[0]
= flag;
//符號位
for(
int i =
0; i <32;
++i)
return0;
}
輸出二進位制補碼問題
蒜頭君有乙個 int textint 的整數,輸出它的 323232 位二進位制補碼。輸入格式 乙個整型整數。輸出格式 輸出一行,即該整數的補碼表示。輸出時每行末尾的多餘空格,不影響答案正確性 樣例輸入 樣例輸出 做這道題就是明白一點 計算機中負數用補碼來表示,因為整數補碼是本身,所以這道題其實就是...
二進位制補碼
二進位制補碼 計算機儲存資料都是以0,1二進位制進行儲存。對於有符號整數儲存 對於浮點數待續 引入補碼概念。原碼即直接將真值轉換為其相應的二進位制形式,而反碼和補碼是對原碼進行某種轉換編碼方式。對於正整數,原碼,反碼和補碼都相一樣 對於負整數,補碼等於反碼加1,而反碼等於原碼除符號位不變其他位按位求...
二進位制補碼
計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的是十進位制,正如 亞里斯多德早就指出的那樣,今天十進位制的廣泛採用,只不過我們絕大多數人生來具有10個手指頭這個解剖學事實的結果.儘管在歷史上手指計數 5,10進製 的實踐要比二或三進製計數出現的晚.摘自 數學發展史 有空大家可以看看哦...