欢迎光临
我们一直在努力

二进制码的补码,二进制和二进制补码

题目链接:http://ica.openjudge.cn/dg2/2/ 总时间限制:?1000ms ??内存限制:?65536kB 描述

输入若干int型整数,输出每个整数的二进制补码。

输入 输入有若干行,除最后一行外,每行包含一个int型整数。最后一行仅包含一个不定的字母,标志着输入结束。我们保证输入的整数不超出int型变量的表示范围 输出 个输入的整数,输出一行,即该整数的补码表示。 样例输入 17200-45h 样例输出 00000000000000000000000000000001000000000000000000000000000001110000000000000000000000001100100011111111111便宜香港vps111111111111111010011 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 //void fun(unsigned int num);//输出num的补码二进制表示形式 5 void fun2(unsigned int num,int count);//输出num的补码二进制表示形式,按32bit的格式输出 6 int count; 7 8 int main(int argc, char *argv[]) 9 {10 char temp[100];11 int t;12 unsigned int num;13 14 while(scanf(“%s”,temp)!=EOF)15 {16 if(temp[0]>=’A’&&temp[0]<=’Z’||temp[0]>=’a’&&temp[0]<=’z’) break;17 t=atoi(temp);18 num=t;//t和num的二进制序列是一样的,但是假如t是负数则t和num表示的值不同 19 /*printf(“%d %u”,t,num);*/20 21 count=1;22 if(t==0) printf(“00000000000000000000000000000000”);//0的补码 23 else fun2(num,count);24 printf(“\n”);25 }26 return 0;27 }28 /*void fun(unsigned int num)//输出num的二进制表示形式29 {30 int tt=num%2;31 if(num!=0) 32 {33 fun(num/2);34 printf(“%d”,tt);35 }36 }*/37 void fun2(unsigned int num,int count)//输出num的补码二进制表示形式,按32bit的格式输出38 {39 int tt=num%2;40 if(count!=33) 41 {42 fun2(num/2,count+1);43 printf(“%d”,tt);44 }45 }

?

41822357

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。