C语言中进制的表示和转换
1个回答
展开全部
C语言中常用的有十进制、二进制、八进制(用0表示)、十六进制(用0x表示)。
十进制转二进制:
十进制转二进制采取除于2取余的方式。
将十进制数除于2得到商和余数,
将商继续除于2一直到商为0,
将得到的余数倒叙排列就是转换为二进制的结果
二进制转十进制:
从右向左用二进制位上的每一个数乘以2的相应次方
如二进制1010转换为十进制:
1010 = 0*(2的0次方)+1*(2的1次方)+0*(2的2次方)+1*(2的3次方) = 2 + 8 = 10
八进制转换为二进制
将二进制数自右向左每三位分为一段(若不足三位用0补齐),
然后将二进制的每三位转换为一位八进制数
如将二进制数0101010转换为八进制:
0 101 010不够三位的补0得到
000 101 010 = 052 = 0052(八进制用0表示)
十六进制转换为二进制
将二进制数自右向左每四位分为一段(若不足三位用0补齐),
然后将二进制的每4位转换为一位十六进制数
如将二进制数0101100转换为十六进制:
010 1100不够三位的补0得到
0010 1100 = 2C= 0x2C(十六进制用0x表示)
十进制转二进制:
十进制转二进制采取除于2取余的方式。
将十进制数除于2得到商和余数,
将商继续除于2一直到商为0,
将得到的余数倒叙排列就是转换为二进制的结果
二进制转十进制:
从右向左用二进制位上的每一个数乘以2的相应次方
如二进制1010转换为十进制:
1010 = 0*(2的0次方)+1*(2的1次方)+0*(2的2次方)+1*(2的3次方) = 2 + 8 = 10
八进制转换为二进制
将二进制数自右向左每三位分为一段(若不足三位用0补齐),
然后将二进制的每三位转换为一位八进制数
如将二进制数0101010转换为八进制:
0 101 010不够三位的补0得到
000 101 010 = 052 = 0052(八进制用0表示)
十六进制转换为二进制
将二进制数自右向左每四位分为一段(若不足三位用0补齐),
然后将二进制的每4位转换为一位十六进制数
如将二进制数0101100转换为十六进制:
010 1100不够三位的补0得到
0010 1100 = 2C= 0x2C(十六进制用0x表示)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询