Ⅰ 在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;}
Ⅱ C语言中怎样调用函数将十进制转换成二进制
1、打开visualC++6.0-文件-新建-文件-C++SourceFile。
Ⅲ c语言编写一个程序,将十进制整数n 转换成二进制数
#include <stdio.h>
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
return y;
}
void main()
{
//进制转换函数的声明
int transfer(int x);
int x;
printf("请输入一个十进制数:");
scanf("%d",&x);
printf("转换成二进制数是:%d ",transfer(x));
}
(3)c语言数值转换成二进制扩展阅读:
c语言书写规则:
1.一个说明或一个语句占一行。
2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
网络-c语言
Ⅳ C语言 把char 型 或者 整数转化成二进制 要怎么转
这个可以使用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为转换时所用基数(保存到字符串中的数据的进制基数)
Ⅳ 怎么用C语言编程把十进制转化成二进制
c语言中没有二进制的格式输出符号.
你可以用itoa函数很方便的将一个10进制int转变成二进制字符串.
如:
int
i;
char
s[128];
scanf("%d",&i);
itoa(i,
s,
2);
/*3个参数,第一个是待转换的数,第二个是存放转换后的字符串,第三个即需要转换的进制*/
printf("该数转换为二进制是:
[%s]\n",s);
补充一点,itoa函数的头文件是stdlib.h
Ⅵ 如何将C语言十进制小数转化为二进制
可以使用二乘取整法。
十进制数乘以10,小数点右移一位,3205.435*10=32054.35。
同理,二进制数乘以2,小数点右移一位,101101.1101*10=1011011.101(式子中都是二进制数)。
两个小数相同,表示法不同,但各自乘以2后,结果的整数部分和小数部分是相同的,基于此,十进制小数可用(小数部分)“2乘取整法”转换为二进制小数。
有限位数的十进制小数,转换成的二进制小数可能是无限位数的,这时可按要求的精度取有限位的结果即可,最后一位是其后面位“0舍1入”的结果。
C语言简介:
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
Ⅶ c语言怎么将十进制转化成二进制
#include <stdio.h>
void main()
{
//进制转换函数的声明
int transfer(int x);
int x;
printf("请输入一个十进制数:");
scanf("%d",&x);
printf("转换成二进制数是:%d ",transfer(x));
}
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
return y;
}
89÷2 ……1
44÷2 ……0
22÷2 ……0
11÷2 ……1
5÷2 ……1
2÷2 ……0
1
十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
网络-二进制
Ⅷ 用C语言编程:将输入的数字转换成二进制字符输出
#include<stdio.h>
void main()
{
int i=0,base=2,num[32];
long int n;
char c;
printf("Please input num:\n");
scanf("%d",&n);
do
{
num[i++]=n%base;
n=n/base;
}while(n!=0);
printf("转换的结果:\n");
for( n=i-1; n>=0; n-- )
{
printf("%c",c);
}
printf("\n");
}