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

一个字符串10进制转16进制的有关问题

2012-02-22 
一个字符串10进制转16进制的问题各位大虾:比如一个字符串:999999999999 ,共12位,把这个字符串转成16进制

一个字符串10进制转16进制的问题
各位大虾:

      比如一个字符串:   "999999999999 ",共12位,   把这个字符串转成16进制的,   存放在一个unsigned   char   array[5]中.   怎么做?   能否给个程序
      如果没有看懂,   就用windows的计算器输入一个十进制的   9999999999...
12位,再点击16进制,就可以看到E8D4A50FFF,   因此把这个E8D4A50FFF,2位一个字节存入   array中.

[解决办法]
要点1:
进制转换:
char str[100];
string str1(itoa(current_instant_number, str, 2));

要点2:
两位数一存一个字符里:
str[0] < <4 + str[1] = array[0]


搞定
给分
[解决办法]
#include <stdio.h>
#include <stdlib.h>
int main(){

char *a= "999999999999 ";
char b[5];
long c=atol(a);
sprintf(b, "%x ",c);
printf( "%s\n ",b);
return 0;

}

[解决办法]
给你一段代码参考一下吧!
#define FUN(x,y) (((__int64)y & ((__int64)0xFF < < (8*(x)))) > > (8*(x)))
main()
{
__int64 a =999999999999;
int Ch[5],i;

for(i = 0; i < 5; i++)
{
Ch[i] =(int)(FUN(i, a));
}
for(i = 4; i > = 0; i--)
{
printf( "%0.2x ", Ch[i]);
}
}

热点排行