将10进制整数转化为16进制字符串

王朝vc·作者佚名  2006-01-08
宽屏版  字体: |||超大  

由于总是有人在论坛上问如何将10进制数、转换为16进制字符串,

考虑到以后还会有人不断的问,所以,在这里提供一种方法,仅供参考:)

不对的地方请多包涵

#include <stdio.h>

#include <iostream.h>

void main()

{

long ix=0;

cout<<"enter interger to change:";

cin>>ix;

long iy=0;

int a1=0;

a1= (ix&0x000000FF);//提取最高位字节

int a2=0;

a2= (ix&0x0000FF00)>>8;

int a3=0;

a3= (ix&0x00FF0000)>>16;

int a4=0 ;

a4= (ix&0xFF000000)>>24;//提取最低位字节

char buffer[10];

sprintf(buffer,"%.2x%.2x%.2x%.2x",a4,a3,a2,a1);

printf("Output:\n%s\n", buffer );

}

enter interger to change:16909060

Output:

01020304

Press any key to continue

F:\>c

enter interger to change:2500

Output:

000009c4

非常感谢 confach:),由于用char存储字符串可能导致溢出,所以出现错误结果,现已经更正。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有