在C语言中023是八进制数,C语言笔记1

也就意味着,使用了 unsigned 只能表示正数,不能表示负数了。

输出无符号数使用 %u

整数的前缀

在程序中是根据前缀来区分十进制、八进制和十六机制的。

1) 十进制数由 0~9 十个数字组成,没有前缀。例如:合法的十进制数:237、-568、65535、1627;

不合法的十进制数:023(不能有前导0)、23D(含有非十进制数码)。

2) 八进制数由 0~7 八个数字组成,必须以0开头,即以0作为八进制数的前缀。例如:合法的八进制数:015(十进制为13)、-0101(十进制为-65)、0177777(十进制为65535);

不合法的八进制数:256(无前缀0)、03A2(包含了非八进制数码)。

注意前缀是数字0,而不是字母o。

3) 十六进制数由数字0~9、字母A~F或a~f组成,前缀为0X或0x。例如:合法的十六进制数:0X2A(十进制为42)、-0XA0(十进制为-160)、0xffff(十进制为65535);

不合法的十六进制数:5A(无前缀0X)、0X3H(含有非十六进制数码)。

在C语言中不能直接表示二进制,它没有特定的前缀。

整数的后缀

1) 可以用后缀L或l来表示长整型数。

例如:十进制长整型数:158L、358000L;

八进制长整型数:012L、077L、0200000L;

十六进制长整型数:0X15L (十进制为21)、0XA5L、0X10000L。

长整型数158L和基本整型数158 在数值上并无区别,但由于 158L 是长整型数,编译器将为它分配 sizeof(long) 字节的存储空间。

2) 可以用后缀U或u来表示无符号数,

例如 358u、0x38Au等。

前缀、后缀可以同时使用以表示各种类型的整数。

例如 0XA5Lu 表示十六进制无符号长整型数 A5,其十进制为165。实际开发中经常使用前缀,但较少使用后缀,因为将整数赋值给变量时就确定了它是否为 long 类型、是否为 unsigned 类型。

实际开发中使用 %d 和 %ld 足以,几乎不使用 %hd。

输出十进制使用%d,输出八进制使用%o,输出十六进制使用%x或%X。如果希望带上前缀,可以加#,例如 %#d、%#o、%#x、%#X。

int a=100,b=0270,c=0X2F;

printf("a(d)=%d, d(#d)=%#d\\n",a,a);

printf("a(o)=%o, d(#o)=%#o\\n",b,b);

%o、%x、%X 都是以无符号形式输出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值