c语言补码转源码函数,求原码、补码,反码(C语言源代码)
#include
#define N 8 //這里你要求是8位
int main(int argc, const char * argv[]) {
int binary[8];//用于存放最后取得的補碼
int a=0;//要處理的數值
int a1=0;//保存a的值
int m=0;//用于存放臨時的數值
printf("請輸入要轉換成二進制補碼的數的值:\n");
scanf("%d",&a);
a1=a;
if (a==0) {
for (int i=0; i
binary[i]=0;
}
}else if (a<0){//負數部分開始
binary[0]=1;
a=-a;
//求原碼部分開始
for (int i=N-1; i>0; i--) {
binary[i]=a%2;
a=a/2;
if (a<1) {
m=i;
break;
}
}//求源碼部分結束
printf("%d的原碼值為:? ? ? ? ? ",a1);
for (int i=0; i
printf("%d",binary[i]);
}
printf("\n");
for (int i=m; i
if (binary[i]==0) {
binary[i]=1;
}
else binary[i]=0;
}
binary[N-1]=binary[N-1]+1;
for (int i=N-1; i>0; i--) {
if (binary[i]>1) {
binary[i]=0;
binary[i-1]=binary[i-1]+1;
if (binary[i-1]<2) {
break;
}
}
}
//負數部分結束
}else{
binary[0]=0;
for (int i=N-1; i>0; i--) {
binary[i]=a%2;
a=a/2;
if (a<1) {
m=i;
break;
}
}
for (int i=1; i
binary[i]=0;
}
printf("%d的原碼值為:? ? ? ? ? ",a1);
for (int i=0; i
printf("%d",binary[i]);
}
printf("\n");
}
printf("%d的補碼值為:? ? ? ? ? ",a1);
for (int i=0; i
printf("%d",binary[i]);
}
printf("\n");
return 0;
}
運行結果截圖:
標簽:
版權申明:本站文章部分自網絡,如有侵權,請聯系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點,本站所提供的攝影照片,插畫,設計作品,如需使用,請與原作者聯系,版權歸原作者所有
總結
以上是生活随笔為你收集整理的c语言补码转源码函数,求原码、补码,反码(C语言源代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机上的查找替换功能快速格式化,Exc
- 下一篇: excel查找功能_如何使用VBA代码实