要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
例如:二进制数110101转化成十进制
110101(2)=120+021+122+123 +02-1+12-2=1+0+4+8+0+025=1325
所以总结起来通用公式为:
abcdefg(2)=d20+c21+b22+a23+e2-1+f2-2+g2-3
或者用下面这种方法:
把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
扩展资料:
例如:二进制1011转十进制为11,算法根十进制基本一样,比如十进制。
2130=2乘以10的三次方+1乘以10的二次方+3乘以10的一次方+0乘以10的0次方。而二进制只要把上面的10换成2就行了。
二进制11011=1乘以2的四次方+1乘以2的三次方+0乘以2的二次方+1乘以1的一次方+1乘以2的0次方。
十进制转二进制:十进制50,将50整除2得25余数为0,记住这个余数,接下来用25整除2得12余数为1,接着用12整除2得6余数为0,依此类推,6整除2得3余数为0,3整除2得1余数为1,1整除2得0余数为1。直到整除结果等于0为止。然后将所有的余数倒序写出来得110010,即就是50的二进制表示。
参考资料:
十进制 百度百科
方法:要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。
例如:二进制数110101转化成十进制
110101(二进制)=12^0+02^1+12^2+12^3 +02^-1+12^-2=1+0+4+8+0+025=1325(十进制)
所以总结起来通用公式为:
abcdefg(二进制)=d2^0+c2^1+b2^2+a2^3+e2^-1+f2^-2+g2^-3(十进制)
扩展资料
1、十进制整数转换为二进制整数
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2、十进制小数转换为二进制小数
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
参考资料来源:百度百科—十进制转二进制
方法一:从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右
例:二进制数110101转化成十进制
110101(2)
=120+021+122+123 +02-1+12-2
=1+0+4+8+0+025=1325(10)
方法二:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
对于有n位整数,m位小数的二进制数用加权系数展开式表示,可写为:N(2)=an-1×2n-1+an-2×2n-2+……+a1×21+a0×20+a-1×2-1+a-2×2-2+……+a-m×2-m(10)式中aj表示第j位的系数,它为0和1中的某一个数。
例:二进制数1101转化成十进制
1101(2)
=123+122+021+120
=13(10)
注意:
1、括号内数字代表次方,如2为二次方,-1为负一次方。
2、()括号内代表进制数,(2)为二进制,(10)为十进制。
1、整数二进制转换为十进制
方法:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。
若首位是0的正整数,补齐位数以后,将二进制中的位数分别与对应的值相乘,然后相加得到的就为十进制。
若二进制补足位数后首位为1时,就需要先取反再换算。
2、小数二进制转换为十进制
方法:将二进制中的位数分别与对应的值相乘,然后相加,得到的值即为换算后的十进制。
:
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。
参考资料:
1、为了完成进制的转换,在主函数中声明了个函数Sum,主要用于将二进制的每一位转换为十进制后的数相加,返回值就是相加后的和。另外定义了一个数组array[8],用于存放输入的八位二进制数。
2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加了一个1,即%1d,这样是好连续的输入八个数,如果没有中间的1,则编译器会认为你只输入了一个数,即那个八位数。然后使用printf函数输出,并且调用Sum函数,数组名作为实参。
3、在Sum函数中,又声明了一个power函数,power函数的作用是求2的n次方,其实这里可以调用库函数pow,但是老师要求不调用库函数,因此就自己写了一个求2的n次方的函数,在这里n为指数,term为每一位数转换为十进制后的的数,如1(22),sum为总和。
4、接着,使用了一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数大于或等于零的,就进行循环,因为二进制的最后一位转换为十进制数时指数就是零,此后循环就结束。调用power函数时,将n作为实参,最后将和返回,即将sum作为返回值返回给Sum函数。
5、在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数,有疑问的可以用笔算算乘2的个数对不对,最后将i返回。
6、最后看一下运行的结果。
按照如下步骤即可用C语言把二进制数转换成十进制数的程序:
1、首先在主函数中设置成函数Sum,另外定义了一个数组array[8],用于存放输入的八位二进制数。
2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加一个1,然后使用printf函数输出,并且调用Sum函数,数组名作为实参。
3、在Sum函数中,声明了一个power函数,在这里n为指数,term为每一位数转换为十进制后的的数,如1(22),sum为总和。
4、然后使用一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数大于或等于零的,就进行循环,调用power函数时,将n作为实参,最后将和返回。
5、在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数。
6、最后看一下运行结果,这个C语言程序既可以把二进制数成功转换成十进制数了。
以上就是关于计算机里二进制数怎么转换成十进制数全部的内容,包括:计算机里二进制数怎么转换成十进制数、二进制转十进制的方法、二进制转换十进制步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)