社区
C语言
帖子详情
10进制如何强制转为16进制?不是等值转换哦~
goooooooooooogle
2012-02-07 09:34:14
比如10进制的 56 如何转为16进制的 0x56?
...全文
681
9
打赏
收藏
10进制如何强制转为16进制?不是等值转换哦~
比如10进制的 56 如何转为16进制的 0x56?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
孤独小剑
2012-02-07
打赏
举报
回复
[Quote=引用 4 楼 minikinfish 的回复:]
sprintf_s(buf, "%d", 56);
sscanf_s(buf, "%x", &i);
[/Quote]或者
sprintf(buf, "%d", 56);
strtoul(buf, NULL, 16);
newpuple
2012-02-07
打赏
举报
回复
哦,循环体里面有点小错误,更正如下:
while (digit != 0)
{
a = digit % 10;
digit = digit / 10;
result |= a << (i++ * 4);
}
newpuple
2012-02-07
打赏
举报
回复
[Quote=引用 1 楼 mstlq 的回复:]
首先楼主要把56分成5和6,然后就是5*16+6,这就是结果
在举个例子,123变成0x123,就是楼主先把123分解成1,2和3,然后1*16*16+2*16+3
[/Quote]
就是这个思想,给个代码吧
void main()
{
int a;
int result = 0;
int digit = 56;
int i = 0;
while (digit != 0)
{
a = digit % ((i + 1) * 10);
digit = digit / ((i + 1) * 10);
result |= a << (i++ * 4);
}
printf("dec = %d -- hec = 0x%x", result, result);
}
heartszhang
2012-02-07
打赏
举报
回复
用c++:
#include <strstream>
std::strstream buffer;
int result_in_hex;
buffer << std::dec << 123;
buffer >> std::hex >> result_in_hex;
程序员小迷
2012-02-07
打赏
举报
回复
4楼正解:
int ret;
char buf[32];
sprintf(buf, "%d", 56);
sscanf(buf, "%x", &ret);
ret就是你要的值
Minikinfish
2012-02-07
打赏
举报
回复
sprintf_s(buf, "%d", 56);
sscanf_s(buf, "%x", &i);
Minikinfish
2012-02-07
打赏
举报
回复
sprintf_s(buf, "%d", 56);
_sscanf_s
AnYidan
2012-02-07
打赏
举报
回复
printf("0x%d\n",56);
mstlq
2012-02-07
打赏
举报
回复
首先楼主要把56分成5和6,然后就是5*16+6,这就是结果
在举个例子,123变成0x123,就是楼主先把123分解成1,2和3,然后1*16*16+2*16+3
分数从二进制到十进制的
转换
,反之亦然:下面描述了两个有助于分数
转换
的函数。-matlab开发
例如,如果我们希望快速获得二进制小数的十进制
等值
:0.000101,或者说,0.010101111,或者说,11010.1011001 等等(它们是:0.078125、0.341796875 和 26.12595)。 这两个双重功能的开发主要是为了在学校学习...
C语言FAQ 常见问题列表
o 3.10 我的编译器在结构中留下了空洞, 这导致空间浪费而且无法与外部数据文件进行 "二进制" 读写。能否关掉填充, 或者控制结构域的对齐方式? o 3.11 为什么 sizeof 返回的值大于结构的期望值, 是不是尾部有填充? ...
你必须知道的495个C语言问题(PDF)
3.5 我可否用括号来
强制
执行我所需要的计算顺序? . . . . . . . . . . 14 3.6 可是&& 和|| 运算符呢?我看到过类似while((c = getchar()) != EOF && c != ’nn’) 的代码⋯⋯ . . . . . . . . . . . . . . . . . . ...
十进制、八进制、十六进制
转换
公式?
举例:十进制 91=9X10+1;八进制 76=7X8+6=62;十六进制11=1X16+1=17.十六进制的10到16用字母表示。 依次为1,2,3,4,5,6,7,8,9,A,B,C,D,E,F ,16
16进制
转化为
10进制
总结
十六进制
转换
有
16进制
每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14...
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章