在C语言中,移位操作符和位操作符是专门针对二进制的数字进行,因此,在描述移位操作符和位操作符之前,我们先来了解十进制,二进制,八进制,十六进制等的含义以及相互之间的转化。
一.进制以及相互的转化
十进制,二进制,八进制,十六进制等只是数值的不同表示形式,十进制就是逢10进1位,二进制就是逢2进1,以此类推。
十进制每个位置上的值的范围是0-9,二进制是0-1,那么他们是如何进行转化的呢?
1.二进制转化为十进制
首先来看,我们是怎么读出十进制的数字的,实际上,例如:123,我们是运用了
这样的计算方法来获得答案的,3对应的是10的0次方,2×10的一次方,以此类推,最后求和即可
那么我们想把二进制数字转换为十进制的数字,实际上也可以运用这样的计算方法,只不过是改成成了✖2的多少次方。
例如,我们求二进制数字1101转换为十进制的数字:
如果我们想将一个八进制数字转换为十进制数字,也是非常简单的:
2.十进制转换为二进制
例如,我们要将十进制数字125转换为二进制数字,我们运用这样的方法:
1.将十进制数字除以2,保留整数部分,将余数写在后面
2.一直进行1