二进制是一种基于2的数字系统,其中只使用0和1。每一位二进制数称为一个比特(bit),8个比特组成一个字节(byte)。
八进制是一种基于8的数字系统,使用数字0到7。八进制中,每一位表示3个二进制位,因此八进制数比二进制数更为紧凑。
为了更详细地说明,让我们来看一个例子:
二进制到八进制的转换:
二进制数:1101101011
将二进制数分组,每组3位:001 101 101 011
将每组转换为对应的八进制数:1353
因此,二进制数1101101011转换为八进制数为1353。
八进制到二进制的转换:
八进制数:347
将每个八进制数转换为对应的3位二进制数:011 100 111
将所有组合在一起:011100111
因此,八进制数347转换为二进制数为011100111。
在C和C++中,表示不同进制的整数常量有一些规定的前缀:
二进制: 用前缀0b
或0B
表示。
例如:0b101010
表示二进制数101010。
八进制: 用前缀0
表示。
例如:035
表示八进制数35。
十进制: 没有前缀,直接写数字。
例如:42
表示十进制数42。
十六进制: 用前缀0x
或0X
表示。
例如:0x2A
表示十六进制数2A。
下面是一些示例:
1 2 3 4 |
|