C语言小函数—二进制与十六进制
2017-07-18 10:39
103 查看
#define SIZE 32 char *dec_bin(long num) { int i = SIZE; char *buff = (char*)malloc(SIZE + 1); buff[SIZE] = '\0'; memset(buff, '0', SIZE); while (num) { buff[--i] = num % 2 + '0'; num=num / 2; } return buff; } char *dec_hex(long num) { int i; char *buffer = (char*)malloc(11); buffer[0] = '0'; buffer[1] = 'x'; buffer[2] = '\0'; char *temp = buffer + 2; for (i = 0; i < 8; i++) { temp[i] = (char)(num << 4 * i >> 28); temp[i] = temp[i] >= 0 ? temp[i] : temp[i] + 16; temp[i] = temp[i] < 10 ? temp[i] + 48 : temp[i] + 55; } temp[i] = '\0'; return buffer; }
测试如下
“`
int main()
{
long int num = 15;
printf("num:%s\n", dec_bin(num)); printf("num:%s\n", dec_hex(num)); system("pause"); return 0;
}
“`
相关文章推荐
- C语言 函数返回 值value的二进制位模式从左到右翻转后的值。
- C语言-一个fopen函数中未使用二进制模式(b)引发的血案
- C语言中的二进制、八进制、十进制、十六进制
- c语言二进制、八进制、十六进制
- C语言中二进制,八进制,十进制,十六进制的表示及左移一位
- 把十进制数(long型)分别以二进制和十六进制形式输出,不使用printf系列库函数
- 关于字符串转二进制、八进制、十进制、十六进制等的函数
- 用C语言写一个函数返回参数二进制中1的个数
- C语言-十进制转换为二进制函数
- c语言按位反转、二进制输出函数
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言将字节输出为十六进制、八进制和二进制
- c++两个常用函数:1.二进制字符串2 hex(十六进制)。2. 栈变量字符串2堆变量
- [C语言] 文件操作,对二进制文件追加二进制数据与补零的两个函数;
- 二进制 转 十六进制 【C语言】
- c++两个常用函数:1.二进制字符串2 hex(十六进制)。2. 栈变量字符串2堆变量
- C语言 编写函数 unsigned int reverse_bit(unsigned int value); 这个函数的返回值value的二进制位模式从左到右翻转后的值。