/*************************************************/ /* 功能:实现整数到二进制数的转换 */ /* 参数类型:int */ /* 返回值:二进制数 */ /* 日期:2013-8-3 */ /* 作者:刘茂强 */ /*************************************************/
#include<stdio.h> #include<math.h> int main() { inti,a,b,c,d,num,new[32]; printf("putin:"); scanf("%d",&num); d=num; num=abs(num); for(i=0;i<32;i++) //除二取余,倒序排列 { a=num%2; num=num/2; if(a>0) { new[31-i]=a; } else { new[31-i]=0; } } if(d>=0) //正数的二进制转换 { printf("jieguo:"); for(i=0;i<=31;i++) { printf("%d",new[i]); } printf("\n"); } else //负数的二进制转换 { new[0]=1; //加符号位 for(i=1;i<=31;i++) //除符号位外,取反 { if(new[i]==1) { new[i]=0; } else { new[i]=1; } } c=1; //对c初始化 for(i=31;i>=1;i--) //除符号位外,加1 { b=new[i]+c; c=b/2; b=b%2; new[i]=b; } printf("jieguo:"); for(i=0;i<=31;i++) { printf("%d",new[i]); } printf("\n"); } return0; } |
整数转换为二进制数
最新推荐文章于 2021-03-29 10:36:18 发布