16进制的转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16进制的转换相关的知识,希望对你有一定的参考价值。
#include<stdio.h> #include<stdlib.h> #include<string.h> //using namespace std; char *get16String(long num) { int i=0; char* buffer=(char*)malloc(11); char* temp; buffer[0]=‘0‘; buffer[1]=‘x‘; buffer[10]=‘\0‘; temp=buffer+2; for(i=0;i<8;i++) { temp[i]=(char)(num<<4*i>>28); printf("### %d ###\t",temp[i]); temp[i]=temp[i]>=0?temp[i]:temp[i]+16; printf("### %d ###\t",temp[i]); temp[i]=temp[i]<10?temp[i]+48:temp[i]+55; printf("### %d ###\n",temp[i]); } return buffer; } int main() { char *p=NULL; int num=0; printf("input num:"); scanf("%d",&num); p=get16String(num); printf("%s\n",p); return 0; }
以上是关于16进制的转换的主要内容,如果未能解决你的问题,请参考以下文章
C语言怎么将超大的16进制数转换成10进制,这个16进制数是个大数,比如0x123456789ABCDEF12345这种