二进制、十进制、进制转换
在之前的文章中已经对二进制做了简单的了解。
二进制表示法只使用两个数字——0和1。
例如,10011011就是二进制数。但C++没有提供二进制表示法来书写数字的方式。二进制数是基于2的幂。
在《C++ Primer》中有下面这一张图,可以很直观的了解二进制和十进制的关系。
简单来说:二进制就是当前位的数值和2的当前位数次幂之和的结果。十进制是当前位的数值和10的当前位数次幂之和的结果。 其他的比较常用的八进制、十六进制也是这样的算法。
二进制用0、1
来表示;十进制用0、1、2、3、4、5、6、7、8、9
来表示;八进制用0、1、2、3、4、5、6、7
来表示、十六进制用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
来表示。
二进制转十进制的时候如上图,做乘法做加法;十进制转二进制的时候,则要不断地做除法。
一般情况下,二进制我们都是用4位一组的方式表示,如上图的1100100
,我们一般会在最高位补0、记为:01100100
。
最后,我们平时需要快速做进制转换的时候,可以使用windows的计算器。
如下图可以将计算器切换到程序员模式
程序员模式下,随意选择一个进制,输入数字,其他进制数字都会同步显示。