簡單的位運算就可以了
瀘州網站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設公司等網站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創(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語言補碼的表示方法是:正數(shù)的補碼就是其本身,負數(shù)的補碼是在其原碼的基礎上,符號位不變,其余各位取反,最后+1 (即在反碼的基礎上+1)。
[+1] = [00000001](原碼) = [00000001](反碼) = [00000001](補碼) [-1] = [10000001](原碼) = [11111110](反碼) = [11111111](補碼) 對于負數(shù),補碼表示方式也是人腦無法直觀看出其數(shù)值的。通常也需要轉換成原碼在計算其數(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 三、補碼 求補碼:若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語言 求補碼
URL地址:http://muchs.cn/article36/hgscpg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、網站設計公司、微信公眾號、標簽優(yōu)化、網站內鏈、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)