首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >格式说明符%02x

格式说明符%02x
EN

Stack Overflow用户
提问于 2013-08-26 15:35:26
回答 3查看 135.6K关注 0票数 38

我有一个简单的程序:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
        long i = 16843009;
        printf ("%02x \n" ,i);
}

我使用%02x格式说明符来获得2个字符的输出,但是,我得到的输出是:

代码语言:javascript
复制
1010101 

而我期待的是:01010101

EN

回答 3

Stack Overflow用户

发布于 2013-08-26 15:38:09

%02x的意思是至少打印2位,如果打印的位数少于2位,就在前面加上0's。在你的例子中是7位,所以前面不会有额外的0

另外,%x代表整型,但是你有一个长整型。请尝试使用%08lx

票数 52
EN

Stack Overflow用户

发布于 2017-11-03 14:13:25

%x是格式化和输出十六进制值的格式说明符。如果您提供的是int或long值,它会将其转换为十六进制值。

%02x表示如果您提供的值小于两位数,则会将0放在前面。

您提供了值16843009,它已被转换为十六进制值1010101

票数 9
EN

Stack Overflow用户

发布于 2013-08-26 15:37:17

您的字符串比格式宽度2更宽,所以不需要填充。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18438946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档