十进制的数转换成十六进制的数 (转)

#include<stdlib.h>
#include<string.h>
#include<stdio.h>
/*
 * 方    法: decimal2Hex
 * 功    能:十进制的数转换成十六进制的数
 * 参    数:int  num : 十进制的数
 * 返回值:char * : 十六进制的字符
 */
 char * decimal2Hex(int num){

    int a[100];
    int i=0;
    int m=0;
    int yushu;
    char hex[16]={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘};
    while(num>0)
    {
        yushu=num%16;
        a[i++]=yushu;
        num=num/16;
    } 

    char *buffer = (char*) malloc(4 * sizeof(char));
    memset(buffer, 0x00, sizeof(buffer));

    for(i=i-1;i>=0;i--)//倒序输出
    {
        m=a[i];
        buffer[i] = hex[m];

    }
    sprintf(buffer, "%c%c%c%c",‘0‘,‘x‘,buffer[1],buffer[0]);
    return buffer;
}

int main(){
     // char *strResult = decimal2Hex(40);  28(HEX)
     char *strResult = decimal2Hex(255);    //FF(HEX)
     printf("测试结果:%s",strResult);
}

时间: 2024-08-01 09:11:48

十进制的数转换成十六进制的数 (转)的相关文章

PHP 将秒数转换成时分秒

将秒数转换成时分秒,PHP提供了一个函数gmstrftime,不过该函数仅限于24小时内的秒数转换.对于超过24小时的秒数,我们应该怎么让其显示出来呢,例如 34:02:02 $seconds = 3600*34+122; function changeTimeType($seconds){ if ($seconds>3600){ $hours = intval($seconds/3600); $time = $hours.":".gmstrftime('%M:%S', $sec

JAVA把毫秒数转换成日期

long sd=1345185923140L; Date dat=new Date(sd); GregorianCalendar gc = new GregorianCalendar(); gc.setTime(dat); java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String sb=format.format(gc.getTime()); Sys

javascript把RGB指定颜色转换成十六进制颜色(Converting R,G,B values to HTML hex notation)

Prologue 看见一篇很好的外国文章,Making annoying rainbows in javascript,其实我当时很想把它翻译下来的,但是对于一个连六级都没过的人确实有点难度,一些文段看起来是知道意思但是就不知道怎么用自己的话来表达.越来越觉得对于IT行业来说英语至少要达到能读的程度,毕竟好的东西很多是外国的,还有哦,要会翻墙.对于那篇文章我其实还没看完,还在慢慢消化中,但是看到一个函数确实真的很吸引我,实现的是Converting R,G,B values to HTML he

3、将二进制转换成十六进制

/* 将二进制转换成十六进制 */ class BinaryToHex { public static void main(String[] args) { int num = 120; char[] result = new char[1024]; int count = 0; while((num & 15) > 0) { int tmp1 = num & 15; if(tmp1 > 9) { result[count] = (char)(tmp1 - 10 + 'A');

微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)

转载注明出处 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时器的小时和分钟.唯一的缺点就是不能选择秒. 一开始的想法是选择的到一个字符串以后,截取字符串转换成数字然后和以前一样不停的计算.什么计算秒数,换算成分数啊之类的 想想虽然不难但还是太麻烦了.就想有没有简单易懂的实现方法. 首先想到的就是js中的Date() 因为这个函数可以传字符串获取毫秒数,传毫秒数获取字符串.那么总体上来看,应该是可行的. 思路: 首先我们的

用c语言写一个函数把十进制转换成十六进制(转)

#include "stdio.h" int main() { int num=0;int a[100]; int i=0; int m=0;int yushu; char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};printf("请输入一个十进制整数:"); scanf("%d",&num); while(num>0) { y

iOS 秒数转换成时间,时,分,秒

//转换成时分秒 - (NSString *)timeFormatted:(int)totalSeconds{ int seconds = totalSeconds % 60;     int minutes = (totalSeconds / 60) % 60;     int hours = totalSeconds / 3600; return [NSString stringWithFormat:@"%02d:%02d:%02d",hours, minutes, seconds

十进制数转换成二进制数后统计其中1的个数

#include <stdio.h> int main() {  int num;  scanf("%d",&num);  int count=0;  while(num!=0)  {   count++;   num=num&(num-1);//  }  printf("count=%d\n",count);  return 0; }

十进制转换成十六进制、16进制转2进制

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> int main() { int i,v; char bs[33]; char b[33]; char hs[9]; char h[9]; char s[4]; char *e; // 十进制整数转二进制串: i=1024; ltoa(i,b,2); sprintf(bs,"%032s&quo