C++数字前缀和后缀

C++数字前缀和后缀


C++作为电脑编程语言,电脑是处理数字的,因此C++中的基础东西就是数字。C++中提供两种数字:整型数和浮点数,也就是整数和小数。但由于电脑实际并不是想象中的数字化的(详情参见《C++从零开始(三)》中的类型一节),所以整型数又分成了有符号和无符号整型数,而浮点数则由精度的区别而分成单精度和双精度浮点数,同样的整型数也根据长度分成长整型和短整型。

  要在C++代码中表示一个数字,直接书写数字即可,如:123、34.23、-34.34等。由于电脑并非以数字为基础而导致了前面数字的分类,为了在代码中表现出来,C++提供了一系列的后缀进行表示,如下:

  u或U 表示数字是无符号整型数,如:123u,但并不说明是长整型还是短整型 

  l或L 表示数字是长整型数,如:123l;而123ul就是无符号长整型数;而34.4l就是长双精度浮点数,等效于双精度浮点数 

  i64或I64 表示数字是长长整型数,其是为64位操作系统定义的,长度比长整型数长。如:43i64 

  f或F 表示数字是单精度浮点数,如:12.3f 

  e或E 表示数字的次幂,如:34.4e-2就是0.344;0.2544e3f表示一个单精度浮点数,值为254.4 

  当什么后缀都没写时,则根据有无小数点及位数来决定其具体类型,如:123表示的是有符号整型数,而12341434则是有符号长整型数;而34.43表示双精度浮点数。 

  为什么要搞这么多事出来,还分什么有符号无符号之类的?这全是因为电脑并非基于数字的,而是基于状态的,详情在下篇中将详细说明。

  作为科学计算,可能经常会碰到使用非十进制数字,如16进制、8进制等,C++也为此提供了一些前缀以进行支持。

  在数字前面加上0x或0X表示这个数字是16进制表示的,如:0xF3Fa、0x11cF。而在前面加一个0则表示这个数字是用8进制表示的,如:0347,变为十进制数就为231。但16进制和8进制都不能用于表示浮点数,只能表示整型数,即0x34.343是错误的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值