首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-03-12 
10进制如何强制转为16进制?不是等值转换哦~比如10进制的 56 如何转为16进制的 0x56?[解决办法]首先楼主要

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

热点排行