求補碼的函數(shù)可以參考下面的代碼,我們知道,在內(nèi)存中,正數(shù)的補碼等于他本身,所以直接返回a。負數(shù)的補碼正是它在內(nèi)存中的存在形式,這是我們定義一個unsigned int型的數(shù)值去用它來賦值,取得的就是他的補碼的二進制形式。為了驗證,我另外編寫了一個函數(shù),用來輸出二進制,請參考。

創(chuàng)新互聯(lián)公司為您提適合企業(yè)的網(wǎng)站設計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡競爭力!結(jié)合企業(yè)自身,進行網(wǎng)站設計及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都網(wǎng)站建設、網(wǎng)站設計, 我們的網(wǎng)頁設計師為您提供的解決方案。
unsigned int buma(int a)//用來求得補碼
{
if(a=0)
return a;
else
{
unsigned int temp=a;
return temp;
}
}
void twoprint(unsigned int a)//用來輸出二進制
{
int temp=a%2;
if(a/2==0)
{
couta" ";return ;
}
twoprint(a/2);//這里采用了遞歸調(diào)用的方法
couttemp" ";
}
一、原碼
求原碼:X≥0,則符號位為0,其余照抄;
X≤0,則符號位為1,其余照抄。
【例1】X=+1001001 [X]原 = 01001001
【例2】X=-1001001 [X]原 = 11001001
二、反碼
求反碼:若X≥0,符號位為0,其余照抄;
若X≤0,符號位為1,其余按位取反。
【例3】X=+1001001 [X]反 = 01001001
【例4】X=-1001001 [X]反 = 10110110
三、補碼
求補碼:若X≥0,符號位為0,其余照抄;
若X≤0,符號位為1,其余取反后,最低位加1。
【例5】X=+1001001 [X]補 = 01001001
【例6】X=-1001001 [X]補 = 10110111
0100000是八進制數(shù)。即二進制數(shù):1000 0000 0000 0000。
z=value0100000;//意義就是取value的最高位。
if(z==0100000)//如果最高位是1,即為負數(shù),需要求補
z=~value+1;//求補,即取反+1
else
z=value;
新聞名稱:補碼求源碼c語言函數(shù),補碼求源碼c語言函數(shù)
網(wǎng)站鏈接:http://chinadenli.net/article41/dsisehd.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、Google、品牌網(wǎng)站設計、網(wǎng)站收錄、外貿(mào)建站、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)