用C语言编写输入一个二进制数输出整数
我也发一个自编的,已验证通过。
#include
main()
{
char binOut[17];
short int i, j; /* 16bit的整数,要用short int型 */
scanf("%d", &i);
for(j=15;j>=0;j--)
{
if(i&(1<<j))
binOut[15-j] = '1';
else
binOut[15-j] = '0';
}
binOut[16] = 0;
printf("DEC(%d)=BIN(%s)
",i,binOut);
}
#includeint main(){ int i=0,n; char bin[32]; scanf("%d",&n); while(n) { bin[i]=(n&1)+'0'; n=n>>1; i++; } for(i=i-1;i>=0;i--) printf("%c",bin[i]); return 0;}
你等下,我写下
#include <stdio.h>
unsigned int Bin2Int(char str[])
{
unsigned n=0;
int i;
for(i=0;str[i];i++)
if(str[i]=='1')
n=n*2+1;
else
n=n*2;
return n;
}
int main()
{
unsigned n;
char str[32];
scanf("%s",str);
n=Bin2Int(str);
printf("%u
",n);
}
#include <string.h>
#include <math.h>
unsigned int Bin2Int (char str[ ])
{
unsigned sum = 0;
int len = strlen(str);
for(int i = 0; i < len; i++)
{
sum += pow(2, i) * (str[len-i-1] - '0');
}
return sum;
}
顺便说一下,101001101100001b = 21345,不是12345
使用位运算的移位法,可以 计算到。。。。
~~~~~~~~
例子的结果,是21345吧
~~~~~~~~~~
在打游戏,
用C语言编写输入一个二进制数输出整数
你等下,我写下 include <stdio.h>unsigned int Bin2Int(char str[]){unsigned n=0;int i;for(i=0;str[i];i++)if(str[i]=='1')n=n*2+1;else n=n*2; return n;} int main(){unsigned n;char str[32];scanf("%s",str);n=Bin2Int(str);printf("%u\\n",n);} ...
C语言。编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算...
include <stdio.h> include <string.h> int main(){ char data[33];int dota[33];int i, j, num, len;gets(data);len = strlen(data);for (i = 0; i <= len; i++){ dota[i] = (int)data[i] -'0';} num = dota[0];for (j = 1; j < len; j++){ num = n...
C语言 进制转换 输入一个2 进制的数,要求输出该2 进制数的16 进制表...
void main(){ int i,j,x,r=0,m;char a[max][20];int b[10];printf("请输入待转化的二进制个数:\\n");scanf("%d",&x);printf("请输入二进制数:\\n");for(i=0;i<x;i++) scanf("%s",a[i]);printf("转化成十六进制数为:\\n");for(i=0;i<x;i++){ for(j=0;a[i...
如何用C语言将一个数值按二进制格式输出?
include <limits.h> int main(void){ int a,i=0;unsigned int mark=1<<CHAR_BIT*sizeof(int)-1;scanf("%d",&a); \/*输入要查看二进制形式的整数*\/ while (mark){ putchar(a&mark?'1':'0');if (++i%4==0) putchar(' ');mark>>=1;} putchar('\\n');return 0;} \/\/--...
c语言的二进制数值如何直接输出?
1、首先打开vc6.0, 新建一个项目。2、添加头文件。3、添加main主函数。4、定义一个两个数相加的函数binSubtracton。5、在main函数定义int了性number1,number2, binSub。6、使用scanf给变量赋值。7、调用binAddition、binSubtracton。8、使用printf打印结果。
c语言编程:输入一个只包含0和1的二进制数,打印出相应的十进制、八进制...
printf("转换为十进制后为:%.0lf\\n",sum);} void main(){ int arr[200];int sub=0;do { printf("请输入二进制数的第%d位,输入2结束:\\n",sub+1);scanf("%d",&arr[sub]);if(arr[sub]!=0&&arr[sub]!=1&&arr[sub]!=2){ printf("输入错误,请输入0或1,2结束\\n");sub--...
在C语言中,如何让计算机输出一个整数的二进制形式,
在C语言里没有这样的函数,只能自已编写一个这样的函数 大概思路 void Fun(int num){ if(num ==1 || num == 0) \/\/等于0 或是 1时,直接输出 { printf("%d",num);} else { while(num\/2>0){ printf("%d",num%2); \/\/取余 num = num\/2; \/\/取整 } } } ...
C语言中怎样输出一个二进制的数?
#include<stdio.h>void printBinary(int number);\/\/这是声明一个自定义的函数,让编译器知道我们造了一个这么个函数,功能:将整数以二进制形式输出。int main() {printBinary(22);\/\/括号里面可以填上你要输出的整数,比如要输出22的二进制形式return 0;}void printBinary()\/\/自定义一个函数print...
请教C语言问题 输入二进制字符串输出数字值
int a, b;int total = 0;for(a=n-1,b=0;a>=0;a--,b++){ total += (int)(pbin[a] - '0') * power(b);return total;} }改成 int binary(char *pbin, int n){ int a, b;int total = 0;for(a=n-1,b=0;a>=0;a--,b++){ total += (int)(pbin[a] -...
求一个C语言程序设计,题目:输入一个只包含0和1的二进制数,打印出相应...
include <string.h> int main(int argc, char *argv[]){ char str[64];int num=0, len, i;\/\/ 输入二进制数部分 printf("请输入你二进制数(注意二进制只有 1 和 0):\\n");for (i=0; (str[i]=getchar()) !='\\n' ;i++) \/\/ 输入二进制数 { if ((str[i]!='0') &&...