【linux c】c语言十进制数转换为十六进制输出_学习笔记_005

来源:互联网 发布:天天炫舞抽坐骑软件 编辑:程序博客网 时间:2024/05/01 13:43
#include <stdio.h>#define uint unsigned int#define MAX_SIZE 1024    //数组长度 //十进制数字转换成十六进制字符串char * num2hex(uint num){    int i;    uint tmp;    uint mask = 0xf;            //掩码0x 0000 000f        static char hex[MAX_SIZE];  //存储十六进制字符串    hex[0] = '0';               //前两位固定不变,为0x    hex[1] = 'x';         //为其余元素赋值    for(i = 9; i >= 2; i--)    {        tmp = num & mask;    hex[i] = (tmp >= 10) ? ((tmp - 10)  + 'a') : (tmp + '0');     num  = num >> 4;    }    return hex;}int main(){    uint num;        char * tmp;    printf("Please input a number:");    scanf("%d", &num);    tmp = num2hex(num);    printf("%d to hex is %s\n", num, tmp);        return 0;}



0 1
原创粉丝点击