前言:
目前你们对“c语言整数转换为二进制”可能比较关注,小伙伴们都需要分析一些“c语言整数转换为二进制”的相关资讯。那么小编在网络上网罗了一些关于“c语言整数转换为二进制””的相关文章,希望兄弟们能喜欢,大家一起来学习一下吧!注意:这里只先讲正整数如何转换成二进制,暂时不考虑负数。
对于一个正整数,如何求其二进制呢,一般的做法就是,概括起来就一句话:除2取余,逆向取值。比如:
其实,十进制转换成16进制或8进制或其他位进制,都是同样的道理,都是除以进制位数取余,然后再逆向取值。
那么,如何将一个二进制数转换成十进制整数呢?
比如:就拿前面计算出的二进制为例吧
其实,16进制或8进制或其他位进制转换成十进制,都是采用同样的方法。
一般公式:
其中,X表示该进制位数的每一位的数字;N表示该进制位的进制数,如若是16进制,则N=16。
补充:二进制数转换成十进制整数的原理
以1010为例,1010转换成十进制整数的结果是10。
我们知道,1010是整数10除2取余、逆向取值得到的。那么,我们也可以反过来,依次将每次除后的结果乘以2再加上余数,得到上一次除后的结果,如此循环,就可以逆推过来。具体的过程如下:
首先,我们正向算一下10的二进制:
这样算出来之后,然后逆向取余数,就得到了10的二进制数1010。
接着,我们逆着推,算一下1010的十进制数:
然后将最后一个式子整理一下,把因式都乘进去,就得到了:
从左往右依次取每一项的系数,就得到了:01010这个整数10的二进制数了。由于二进制数的最高位取0没有意义,所以就得到了1010。然后,再把上式改一下,就得到了:
显然,这与前面“二进制转换成十进制”的方法一致。
注意:一个整数被另一个整数循环相除(只保留商,不保留余数),除到最后,所得的商一定会是0。
标签: #c语言整数转换为二进制 #二进制怎么算十进制公式 #二进制怎么算成十进制