十进制转换成十六进制、八进制、二进制。
程序员文章站
2024-03-11 22:03:01
...
十进制转换成十六进制、八进制、二进制
举例验证十进制转二进制,十进制转换十六进制:
代码演示:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void trans(char array[],int number,int scale,int * len)
{
int i = 0;
while(number)
{
array[i] = number % scale;
if(array[i] > 9)
{
array[i] += 'A' - 10;
}
else
{
array[i] += '0';
}
number = number / scale;
i++;
}
*len = i;
}
int main()
{
int number = 0;
printf("input a number:");
scanf("%d",&number);
int scale = 0;
printf("input scale:");
scanf("%d",&scale);
char * array = NULL;
array = malloc(sizeof(char)*32);
memset(array,0,sizeof(array));
int i = 0;
switch(scale)
{
case 2:
trans(array,number,scale,&i);
break;
case 8:
trans(array,number,scale,&i);
break;
case 16:
trans(array,number,scale,&i);
break;
}
while(i--)
{
printf("%c",array[i]);
}
printf("\n");
}
总结:1.一直再想局部变量的问题(离开函数内存就被释放),所以在堆区开辟了一块内存,一直到程序结束才释放内存。2.当转换大于9的数字的时候,需要A,B,C,D,E,F.所以要用到ASCII码,+‘0’ 和 +‘A’ -10 用的就巧妙啦。
上一篇: VS2005 180天限制破解方法
推荐阅读
-
十进制转换成十六进制、八进制、二进制。
-
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
-
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明_PHP
-
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明_php技巧
-
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明_PHP
-
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码
-
十进制负数转换为二进制、八进制、十六进制的知识分享
-
php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码_PHP
-
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明_php技巧
-
学习笔记(04):Python 面试100讲(基于Python3.x)-十进制、二进制、八进制和十六进制之间的转换