LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: home

请问大家,什么函数将十进制数转化为十六进制

[复制链接]
发表于 2004-2-6 10:27:31 | 显示全部楼层
不用管他怎么转换,反正一定比自己写的函数优化的好。

要转换成不输出的字符串用sprintf函数不就行了吗
发表于 2004-2-6 18:33:39 | 显示全部楼层
自己写了个程序试试,呵呵,只能转换int类型整数。
[php]
#include<stdio.h>
int main()
{
        int num = 23165;
        int temp[8];
        int i;
        /* print number in decimal base */
        printf("the decimal number is %d\n", num);

        /* transform binary number to hexadecimal notation */
        for (i=7; i>=0; i--) {
        if ( (temp = num & 0x0f) > 9)
                        temp += ('A' - 10);
                else
                        temp += '0';
                num = num >> 4;
        }

        /* print number in hexadecimal base */
        printf("the hexadecimal number is ");
        for (i=0; i<8; i++)
                if ('0' != temp) printf("%c",temp);

        printf("\n");
}
[/php]
发表于 2004-2-6 19:14:08 | 显示全部楼层
[php]
#include <stdio.h>
int main(){
    char a[255] = "";
    sprintf(a, "hex(16)=%X", 16);
    return 0;
}
[/php]
发表于 2004-2-6 19:16:15 | 显示全部楼层
这样a就是"hex(16)=10"了,想要什么格式都有
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表