C语言 把char 型 或者 整数转化成二进制 要怎么转

C语言 把char 型 或者 整数转化成二进制 要怎么转
2024-11-24 06:21:45
推荐回答(4个)
回答1:

这个可以使用itoa函数
itoa为c语言的一个函数。itoa函数是一个广泛应用的,从非标准扩展到标准的C语言。它不能被移植,因为它不是标准定义下的C语言,但是,编译器通常在一个不遵循程式标准的模式下允许其通过header ,因为它是一个从逻辑对应到标准库的函数。itoa取整数输入值,并将其转换为数字的基数。
原 型
  char *itoa( int value, char *string,int radix);
功 能
  把一整数转换为字符串
用 法
  itoa(i,num,10);   i ----需要转换成字符串的数字   num---- 转换后保存字符串的变量   10---- 转换数字的基数(即进制)。10就是说按10进制转换数字。还可以是2,8,16等等你喜欢的进制类型   返回值:指向num这个字符串的指针
程序例:   #include   #include   int main(void)   {   int number = 12345;   char string[25];   itoa(number, string, 10);   printf("integer = %d string = %s\n", number, string);   return 0;   }   char *itoa(int value,char *string,int radix)   将整数value转换成字符串存入string,   radix为转换时所用基数(保存到字符串中的数据的进制基数)

回答2:

char型在内存中保存的是ASCII码,就是二进制,整型本身就是二进制存放。

回答3:

例如:
/*Compiler:Borland C++3.1 , if VC not use include file*/
#include
#include
#define A_CHAR_BITS 8
int main(void)
{
char a;
char bits[A_CHAR_BITS + 1];
int i;
memset(bits , 0 , A_CHAR_BITS + 1);
a = 0x10;/*example*/
for(i = 0 ; i < A_CHAR_BITS ; i ++)
if(a & (0x01 << i))
bits[i] = '1';
else
bits[i] = '0';
printf("The char bits as followings:%s." , bits);
return (0);
}

回答4:

除2取余法。。。