簡單的位運(yùn)算就可以了
瀘州網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
#include stdio.h
void printBin(int num){
int i,k=31;
for(i=0;i32;i++){
printf("%d",(numk)1);//移位并輸出
k--;
}
printf("\n");
}
int main(int argc, char* argv[])
{
int num;
printf("Please input a number, I will tell you what it really is:");
scanf("%d",num);
printf("It is binary display is:");
printBin(num);
return 0;
}
c語言補(bǔ)碼的表示方法是:正數(shù)的補(bǔ)碼就是其本身,負(fù)數(shù)的補(bǔ)碼是在其原碼的基礎(chǔ)上,符號位不變,其余各位取反,最后+1 (即在反碼的基礎(chǔ)上+1)。
[+1] = [00000001](原碼) = [00000001](反碼) = [00000001](補(bǔ)碼) [-1] = [10000001](原碼) = [11111110](反碼) = [11111111](補(bǔ)碼) 對于負(fù)數(shù),補(bǔ)碼表示方式也是人腦無法直觀看出其數(shù)值的。通常也需要轉(zhuǎn)換成原碼在計(jì)算其數(shù)值。 一、原碼 求原碼: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 三、補(bǔ)碼 求補(bǔ)碼:若X≥0,符號位為0,其余照抄; 若X≤0,符號位為1,其余取反后,最低位加1。 【例5】X=+1001001 [X]補(bǔ) = 01001001 【例6】X=-1001001 [X]補(bǔ) = 10110111
0100000是八進(jìn)制數(shù)。即二進(jìn)制數(shù):1000 0000 0000 0000。
z=value0100000;//意義就是取value的最高位。
if(z==0100000)//如果最高位是1,即為負(fù)數(shù),需要求補(bǔ)
z=~value+1;//求補(bǔ),即取反+1
else
z=value;
標(biāo)題名稱:c語言求補(bǔ)碼的函數(shù) c語言 求補(bǔ)碼
URL地址:http://m.kartarina.com/article36/hgscpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、微信公眾號、標(biāo)簽優(yōu)化、網(wǎng)站內(nèi)鏈、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)