[记录学习][C基础008]显示八进制和十进制

八进制和十六进制计数系统在表达与计算机相关的值时很方便。(C语言默认整数类型int常量是十进制的数)例如:十进制数35536经常出现在16位机中,用十六进制表示正好是10000。另外,十六进制数的每一位的数恰好由4位二进制数表示。例如:十六进制的5是0101。因此,十六进制数35的位组合是0011101,十六进制数53的位组合是01010011.这种对应关系使得十六进制和二进制的转换非常方便。

计算机是如何分清10000是十进制、十六进制还是二进制的呢?

在C语言中,用特定的前缀表示使用的是哪种进制。

0x或者0X前缀表示的是十六进制,十进制数16表示成十六进制就是0x10或者0X10。

0前缀表示八进制,十进制数16表示成八进制就是020。

使用不同的进制数是为了方便,不会影响数被存储的方式。换句话说,无论把数字写成16、020还是0x10,存储该数的方式都是一样的,计算机内部都是以二进制进行编码的。

显示八进制和十六进制

在C程序中,既可以使用和显示不同进制的数。不同的进制要使用不同的转换说明。

用十进制显示数字--->     %d

用八进制显示数字--->     %o  (不是数字0,是字母o)

用十六进制显示数字--->     %x

如果要显示各进制数的前缀         0          0x             0X

分别使用                                     %o        %#x         %#X

 

/*十进制、八进制、十六进制 打印数字100*/
#include <stdio.h>
int main(void)
{
	int x = 100;

	printf("dec= %d; octal= %o; hex= %x\n",x,x,x);
	printf("dec= %d; octal= %#o; hex= %#x\n", x, x, x);

	return 0;
}

输出结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值