读书人

10进制怎么强制转为16进制?不是等值转

发布时间: 2012-03-12 12:45:33 作者: rapoo

10进制如何强制转为16进制?不是等值转换哦~
比如10进制的 56 如何转为16进制的 0x56?

[解决办法]
首先楼主要把56分成5和6,然后就是5*16+6,这就是结果
在举个例子,123变成0x123,就是楼主先把123分解成1,2和3,然后1*16*16+2*16+3
[解决办法]
sprintf_s(buf, "%d", 56);
sscanf_s(buf, "%x", &i);
[解决办法]
4楼正解:

int ret;
char buf[32];
sprintf(buf, "%d", 56);
sscanf(buf, "%x", &ret);

ret就是你要的值
[解决办法]
用c++:

#include <strstream>

std::strstream buffer;
int result_in_hex;
buffer << std::dec << 123;
buffer >> std::hex >> result_in_hex;


[解决办法]

探讨
首先楼主要把56分成5和6,然后就是5*16+6,这就是结果
在举个例子,123变成0x123,就是楼主先把123分解成1,2和3,然后1*16*16+2*16+3

读书人网 >C语言

热点推荐