为什么需要不同进制

在我们的生活中表达某个数的时候,比如成绩多少,这样的数都是十进制数。十进制数有10个数,0,1,2,3,4,5,6,7,8,9。十进制“逢十进一”这个大家都知道。生活中也有其它进制,比如时间的分秒数是60进制,角度是360度进制。进制的产生一定是为了更好的表达或记录。

哪在计算机里用几进制呢?二进制,相信大家都知道。因为计算机只能表示两个状态0,1,(0好比开关关,1可以表示成开关接通)。所以计算机只能“认识”二进制数。二进制“逢二进一”。

大家可能也知道还有八进制、十六进制,哪为什么有二进制还要其它进制?

可以想下,人类用十进制,计算机用二进制,但如果想要更好的去研究和理解计算机的运作时,光用二进制表达和描述会非常不直观、不方便。因为二进制太长了,比如一个整数(十进制),32位机中二进制有32位。如果用十六进制就只要8位,表达和描述上会方便很多,互转时也可以直接转,不像十进制哪样复杂。(因为8,16,是2的3,4次方)

十六进制转二进制,一位转四位,反过来是四位转一位;八进制转二进制,一位转三位,反过来是三位转一位。

写个对应表,大家也可以很容易推出这表

如果是十进制二进制互转可以有个小方法,直接用计算机自带的计算器来做,选择程序员计算器就可以。

程序员计算器
程序员计算器

编程实现:整数输出十进制十六进制八进制二进制

C++中位操作类:C++bitset

注:还有就是用十六进制、八进制在编程时有时会更好设计程序,运算会更快,比如移位这类操作。