Ⅰ c语言怎么输出二进制数
有八进制,十进制和十六进制,不过没二进制,如果要,只能自己写转化
#include<stdio.h>
void main()
{
int n = 11;
printf("%o\n", n);
printf("%d\n", n);
printf("%x\n", n);
}
Ⅱ 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语言如何用二进制输出变量里的数值!
程序如下:#include <stdio.h>
int main(void)
{
int i,j,p;
char code[32];
scanf("%d",&i);
j=i;
p=0;
while(j>0)
{
code[p++]=j%2 + 48 ;
j=j/2;
}
j=p;
printf("the num is : %d, \n the code is:",i);
while(j)
{
printf("%c",code[--j]);
}
getch();
return 0;
}
Ⅳ 如何用C语言将一个数值按二进制格式输出
绕不开pi的
因为计算机算三角函数按泰勒公式展开就是用弧度制算的
Ⅳ 怎么用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语言的二进制数值如何直接输出
1、首先打开vc6.0, 新建一个项目。
Ⅶ c语言以二进制输出
#include<stdlib.h>
#include<stdio.h>
voidmain(){
intnumber=43;charstring[100];
itoa(number,string,2);
printf("原数=%d二进制数=%s ",number,string);
}
这个可以满足你吗?让程序输出反码补码好像要求有点高。你根据我写的程序自己算一下反码补码并不是一件很难的事。
Ⅷ 如何在c语言中输出二进制数
可以用 %x格式 输出16进制数,16进制一位拉4位,按8421分布,就是2进制数。1个字节正好用2位16进制表示,转为8位2进制。
Ⅸ C语言,怎样输出二进制数
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intnum;
printf("Enteranumber: ");
scanf("%d",&num);
inti;
inta[6]={0};
intk;
intj;
for(i=0;i<=5;i++)
{
a[i]=num%2;
j=num/2;
num=j;
}
intp;
printf("Result: ");
for(p=5;p>=0;p--)
{
printf("%d",a[p]);
}
return0;
}
Ⅹ 在C语言中怎么把一个数转换成二进制然后输出
数据在内存中本来就是以二进制补码存放的,设法从高字节至低字节一个bit一个bit地输出到屏幕上即可。根据题面要求,输出过程还要做以下工作:
从最高字节开始检测,全0的字节略去;
每8位增加输出一个空格。
代码如下:
12345678910111213141516//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char *p; unsigned i,n,x=1<<sizeof(int)*8-1; printf("Input an integer...\n"); scanf("%d",&n); for(p=(char *)&n,i=sizeof(int)-1;i>0;i--) if(*(p+i)==0) x>>=8; else break; for(i=0;x;x>>=1) printf(++i%8 ? "%d" : "%d ",(n&x) || 0); printf("\n"); return 0;}