一道C的数制转换题
这是我们一道作业题,不咋会,请教一下各位帅气漂亮的小哥哥小姐姐{:10_327:}以下是题目描述:
输入一个十进制整数(int 型),输出该数的十六进制形式,再以十六进制形式分别输出该数高端2字节和低端2字节对应的值,逗号分隔。
输入输出格式:
输入:一个整数(十进制)
输出:第一行该数的十六进制;第二行该十六进制数高端2字节(逗号分隔)该十六进制数低端2字节
提示:int a=1;printf("%04d",a);则输出为:0001
样例输入:
-32768
样例输出:
ffff8000
ffff,8000 #include <stdio.h>
int main(void) {
int num;
scanf("%d", &num);
printf("%.8x\n", num);
printf("%.4x,%.4x\n", (unsigned)num >> 16, num & 0xffff);
return 0;
}
返回0之上的一句,能不能详细演示讲解一个? 人造人 发表于 2020-4-7 00:56
可以稍微讲解一下吗,刚开始学C ,有点看不懂{:10_266:}- 32768
cccccccc
cccc,cccc
我运行完的结果咋跟示例不一样呢 时荒小先生 发表于 2020-4-7 08:53
可以稍微讲解一下吗,刚开始学C ,有点看不懂
我运行完的结果咋跟示例不一样呢
你多输入了一个空格{:10_334:} 在C语言中,打印16进制可以使用printf的%x格式。
打印二进制数并没有现成的格式数值,只能自行编写函数打印。
以下是一个打印二进制值的函数,通过位操作,逐位判断二进制值,并输出对应的值。
默认高位0不输出。 墨羽岚 发表于 2020-4-7 09:28
你多输入了一个空格
Oh,my god!!!!!!!!!
我傻了{:10_266:} 时荒小先生 发表于 2020-4-7 08:53
可以稍微讲解一下吗,刚开始学C ,有点看不懂
我运行完的结果咋跟示例不一样呢
我是可以正常运行的
32768才会显示你的上面的内容 时荒小先生 发表于 2020-4-7 08:53
可以稍微讲解一下吗,刚开始学C ,有点看不懂
我运行完的结果咋跟示例不一样呢
C语言的位运算
页:
[1]