输入一个int整数,显示为十六进制,不用hex,不用数组,不用函数。要求
输入一个int整数,显示为十六进制,不用hex,不用数组,不用函数。要求输出8个字符要求用c++写...
输入一个int整数,显示为十六进制,不用hex,不用数组,不用函数。要求输出8个字符
要求用c++写 展开
要求用c++写 展开
2个回答
展开全部
函数还是要用的吧?比如printf!
#include "stdio.h"
int main(void){
int n,i,k;
unsigned m,f;
printf("Input an integer...\n");
scanf("%d",&n);
printf("%d(10) = ",n);
m=(unsigned)n;
f=0x80000000;
while(f){
for(k=i=0;i<4;(k*=2)+=(m&f || 0),f>>=1,i++);
printf("%1X",k);
}
printf("(16)\n");
return 0;
}
更多追问追答
追问
因为是学函数之前的题,老师举例是用的左移右移,觉得好复杂没看懂
追答
没有用左移,只用了个右移。右移1位就是除以2,你把f>>=1看作f/=2就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询