编程学习网 > 编程语言 > C/C++开发 > c语言编程如何进行二进制转换(十进制转换为二进制c语言编程)
2022
02-12

c语言编程如何进行二进制转换(十进制转换为二进制c语言编程)

在我们日常学习生活中,接触到的都是十进制,那在C语言中如何使用十进制转换成二进制呢?

首先,需要了解这两者的区别。我们平常使用的数字是从0~9组成,例如1、9、199、599等等,一个数字最多表示的数值也只能是九,如果需要表示十、一百等,就需要多个数字表示。例如最简单的小学数学中5+6的结果,一个数字不够,就只能“进位”,这时进一位“相当于十,”进两位“相当于二十。

因为逢十进一,也因为只有 0~9 共十个数字,所以叫做十进。所以在进行加法(减法)运算时,逢X进(借)一就是X进制

在数学中十进制和二进制的转换

十进制与二进制的对应关系

二进制和十进制的转换:

  • 十进制 4321 = 4×10^3 + 3×10^2 + 2×10^1 + 1×1^0

  • 二进制 1101 = 1×2^3 + 1×2^2 + 0×2^1 + 1×2^0 = 8 + 4 + 0 + 1 = 13

  • 二进制 110.11 = 1×2^2 + 1×2^1 + 0×2^0 + 1×2-1 + 1×2-2 = 4 + 2 + 0 + 0.5 + 0.25 = 6.75

C语言中如何转换
#include<stdio.h>

int bintodeci(char *s);//函数声明

void main()

{

char s[30];

printf("请输入二进制形式的数\n");

gets(s);

printf("转换成十进制形式是:%d\n",bintodeci(s));

}

int bintodeci(char *s)

{

int res=0,sign=1,i;

char *p;

i=1;

if(*s=='-')//如果输入的是负数,则数据符号是-

{sign=-1;s++;}

p=s;

while(*p!='\0')p++;//p一直指向字符串最后的反斜杠0,只为了从右往左运算

while(p!=s)

{

p--;

res=res+i*(*p-'0');

i*=2;//位权等比递增,1,2,4,8,16

}

return res*sign;//最后结果加上符号即可

}
以上就是“c语言编程如何进行二进制转换(十进制转换为二进制c语言编程)”的详细内容,想要了解更多C语言相关内容欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取