龙空技术网

整数十进制与二进制之间的转换

磕磕碰碰的蜗牛 110

前言:

目前你们对“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语言整数转换为二进制 #二进制怎么算十进制公式 #二进制怎么算成十进制