社区
C语言
帖子详情
printf输出十六进制数
xqlez
2004-10-15 09:20:57
用printf,十六进制数怎样按4,4格式输出
例如:
0x10002000
输出:
1000 2000
...全文
25616
9
打赏
收藏
printf输出十六进制数
用printf,十六进制数怎样按4,4格式输出 例如: 0x10002000 输出: 1000 2000
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Leaveye
2004-10-17
打赏
举报
回复
就你的要求来说,用printf是最简单的办法。
要复杂也可以,可以加对大整数进行处理,可以分段进行处理。那就没必要了。
较为通用点的方法可以这样:
char * Last4Hex(unsigned int Num, char a[5])
{
sprintf(a, "%04X", Num);
return a;
}
main()
{
unsigned long num = 0x00102000;
char a[5], b[5];
printf(
"%s %s\n",
Last4Hex(num >> 0x10, a),
Last4Hex(num, b)
);
}
cnxiaohai
2004-10-16
打赏
举报
回复
#include <stdio.h>
void main()
{
char str[50];
long int a=0x10002000;
int i;
printf("a=%lx\n",a);
sprintf(str,"%lx",a);
for(i=1;*(str+i-1)!='\0';i++)
{
printf("%c",*(str+i-1));
if(i%4==0)
printf(" ");
}
printf("\n");
}
Leaveye
2004-10-16
打赏
举报
回复
更正一下:
long HexNum = 0x10002000;
printf("%04X %04X\n", (int)(HexNum >> 0x10), (int)(HexNum & 0xffff));
双杯献酒
2004-10-16
打赏
举报
回复
// 假设数据为正
unsigned int data = 0x10002000;
unsigned int dataH = (data >> 0x10)&0xffff;
unsigned int dataL = data&0xffff;
printf("%04X %04X",dataH,dataL);
Leaveye
2004-10-16
打赏
举报
回复
long HexNum = 0x10002000;
printf("%4X %4X", HexNum >> 0x10, HexNum & 0xffff);
xqlez
2004-10-16
打赏
举报
回复
用printf格式串不用其它的就没办法了?
printf格式定义串是不是无法做到这样的效果
纪俊
2004-10-15
打赏
举报
回复
我觉得不用转换也可以
用位操作把数一位一位输出到一个变量中
等输出了4位就打印出来
/////////////////////////////////////////////////////////////////////
欢迎大家使用编程文档手册V3.5,编程辅助类软件
集编程文档的收集、查询、浏览、编辑等功能于一体的辅助编程类软件。通过日积月累,相信本软件将给广大程序开发人员以及编程爱好者们带来很大的帮助。
下载地址:
天空软件站:http://www.skycn.com/soft/11906.html
zhangfjj
2004-10-15
打赏
举报
回复
/* 只有转换成字符串输出了*/
#include <stdio.h>
void main()
{
char str[50];
long int a=0x10002000;
int i;
printf("a=%lx\n",a);
sprintf(str,"%lx",a);
for(i=1;*(str+i-1)!='\0';i++)
{
printf("%c",*(str+i-1));
if(i%4==0)
printf(" ");
}
printf("\n");
}
DaySummer
2004-10-15
打赏
举报
回复
你将其转换成字符串,然后对字符串操作不就可以了
C语言
printf
输出
十六进制
16进制
#include <stdio.h> int main() { short a = 0b1010110; //二进制
数
字 int b = 02713; //八进制
数
字 long c = 0X1DAB83; //
十六进制
数
字
printf
("a=%ho, b=%o, c=%lo\n", a, b, c); //以八进制形似
输出
printf
("a=%hd, b=%d, c=%ld\n", a, b, c); //以十进制形式
输出
.
STM32-ADC
数
据处理与
printf
输出
十六进制
数
据技巧
摘要:本文解析了基于STM32的ADC
数
据处理与串口
输出
代码,核心包括平均滤波、电压转换和格式化
输出
。通过累加采样值求平均降低噪声,将ADC
数
值转换为电压值,并用
printf
输出
十六进制
原始值和浮点电压值。代码适用于电压监测和传感器信号处理,可通过调整采样次
数
、校准参考电压进行优化。注意事项包括
printf
重定向、
数
据类型溢出和实时性处理。该方法是嵌入式系统模拟量采集与调试的基础实践。
C语言
printf
打印
十六进制
数
字0x01
串口打印调试信息,有一段为
输出
十六进制
地址的打印,%x
输出
显示为:0x1,而不是0x01,因此找到解决的方式如下:改为:%02x即可。 代码段如:
printf
("\r\n 本机的标准ID号STDId:0x%02x",CAN_stdID);
printf
("\r\n 目标主机的标准ID号STDId0:0x%02x",CAN_stdID0);
printf
十六进制
格式打印
但是,这种方法并不能直接打印出负号,因为
十六进制
数
本身是无符号的。所以,你需要先检查这个
数
是否小于0,如果是的话,再打印出负号和它的绝对值。函
数
的一个格式说明符,用于以
十六进制
形式打印整
数
,并且在打印的结果前面添加。在C语言中,如果你想打印一个负的
十六进制
数
,你可以使用。是否小于0,如果是的话,就打印出负号,并将。是一个标志,表示在打印的结果前面添加。这样,你就可以看到
输出
是。,这是255的
十六进制
表示。表示以
十六进制
形式打印整
数
。函
数
中,它创建了一个变量。表示这是一个格式说明符,例如,如果你有一个整
数
。
c语言一个十进制
数
输出
十六进制
数
,c++ 输入一个十进制
数
,
输出
十六进制
数
满意答案ablbgfwe2014.03.04采纳率:40%等级:11已帮助:5901人C?#include int main(int argc, char *argv[]){int n;
printf
("input a number:");scanf("%d", &n);
printf
("
十六进制
是:0X%X\n", n);return 0;}C++?#include using na...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章