输出二进制补码
- 题目链接:http://ica.openjudge.cn/dg2/2/
- 总时间限制: 1000ms 内存限制: 65536kB
- 描述
-
输入若干int型整数,输出每个整数的二进制补码。
- 输入
- 输入有若干行,除最后一行外,每行包含一个int型整数。最后一行仅包含一个不定的字母,标志着输入结束。我们保证输入的整数不超出int型变量的表示范围
- 输出
- 个输入的整数,输出一行,即该整数的补码表示。
- 样例输入
-
1 7 200 -45 h
- 样例输出
-
00000000000000000000000000000001 00000000000000000000000000000111 00000000000000000000000011001000 11111111111111111111111111010011
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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App