‘壹’ 怎么用c语言输出二进制码
在C语言的标准输出中,有16进制,10进制和8进制的输出格式,但是没有二进制的输出格式。所以要想输出二进制,只能靠自己写函数进行输出了。
基本思想为通过移位操作+与操作取出各个位上的值,然后对其进行输出即可。
以32位无符号整型数据二进制输出为例,代码如下:
#include<stdio.h>
voidbinary_print(unsignedintv)
{
inti;
intbit;
intsize=sizeof(v)*8;
//这里的size是输入参数v的位数,直接用32代替也可以,但写成sizeof(v)*8这样更为通用。
for(i=0;i<size;i++)
{
bit=v&(1<<(size-i-1));//提取出第i位的值
if(bit==0)putchar('0');
elseputchar('1');
}
}
‘贰’ C语言中怎样输出一个二进制的数
//我们用按位运算符:右移>>和按位运算符与^,这两个功能就可以实现。
#include<stdio.h>
voidprintBinary(intnumber);//这是声明一个自定义的函数,让编译器知道我们造了一个这么个函数,功能:将整数以二进制形式输出。
intmain()
{
printBinary(22);//括号里面可以填上你要输出的整数,比如要输出22的二进制形式
return0;
}
voidprintBinary()//自定义一个函数printBinary
{
inttemp=sizeof(number)-1;//定义一个变量:如果你的编译器是32位的,也就是inttemp=31;
while(temp>=0)//temp是循环的次数,不需要纠结判断是>=还是>,写完之后检验一下就知道哪个对了。
intvalue=number>>temp^1;//a>>temp。temp移动后,是把这个整数的二进制形式中最后一位,依次与1进行按位与运算。假如temp=31,就是把这个整数的二进制形式右移31位,只剩下了这个整数的二进制形式的开头第一个数字,然后与1进行按位与运算。真则为1,假则为0。
printf("%d",value);//每次输出整数的二进制形式的一个数字,从开头开始输出。.
temp--;//按位右移循环,直到把整数内存中所有的位移完毕。从内存中二进制形式的第一位开始。
}
‘叁’ c语言的二进制数值如何直接输出
没有二进制直接输出,可以自己编写程序:
void
f(int
n)
{
if(n)
f(n/2);
else
return;
printf("%d",n%2);
}
上面是一个递归调用函数,它可以输出n的二进制格式
‘肆’ 如何在c语言中输出二进制数
可以用 %x格式 输出16进制数,16进制一位拉4位,按8421分布,就是2进制数。1个字节正好用2位16进制表示,转为8位2进制。
‘伍’ C语言中怎么输出数据的二进制
C语言中,默认支持16进制的数据输出,其实这个就是一个更容易阅读的二进制显示。
C语言的标准库,没有二进制输出函数,需要自己写,写法主要有两种:
1.
除以2和对2取余数的循环;
2.
位移操作和位与(&)操作;
第二种效率高些:
int dat = 12345;
int ibit = 0x01;
for(int i=31;i>=0;i--){
a[i] = (dat & ibit)==0 ? 0,1;
ibit << 1;
}
for(i=0;i<32;i++)
printf("%d",a[i]);
‘陆’ 如何在c语言中输出二进制数
二进制是不可以直接输出的,但是可以用程序输出
#include<stdio.h>
void
f(int
n)
{
if(n)
f(n/2);
else
return;
printf("%d",n%2);
}
int
main()
{
int
n;
while(1)
{
scanf("%d",&n);
if(n<0)
break;
if(n==0)
printf("0");
f(n);
printf("\n");
}
return
0;
}
‘柒’ c语言的二进制数值如何直接输出
1、首先打开vc6.0, 新建一个项目。