什么是整数常量

如题所述

规范说法应该为整型常量。

1.八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。
  以下各数是合法的八进制数:
  015(十进制为13) 0101(十进制为65) 0177777(十进制为65535)
  以下各数不是合法的八进制数:
  256(无前缀0) 0382(包含了非八进制数码) -0127(出现了负号)
2.十六进制整常数
  十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。
  以下各数是合法的十六进制整常数:
  0X2A(十进制为42) 0XA0 (十进制为160) 0XFFFF (十进制为65535)
  以下各数不是合法的十六进制整常数:
  5A (无前缀0X) 0X3H (含有非十六进制数码)
3.十进制整常数
  十进制整常数没有前缀。其数码为0~9。
  以下各数是合法的十进制整常数:
  237 -568 65535 1627
  以下各数不是合法的十进制整常数:
  023 (不能有前导0) 23D (含有非十进制数码)
  在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错造成结果不正确。例如,数组int power_of_10[4]={0001,0010,0100,1000}的初值会被解释为{1,8,64,1000}。
4.整型常数的后缀
  在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。八进制无符号数的表示范围为0~0177777。十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。例如:
  十进制长整常数 158L (十进制为158) 358000L (十进制为-358000)
  八进制长整常数 012L (十进制为10) 077L (十进制为63) 0200000L (十进制为65536)
  十六进制长整常数 0X15L (十进制为21) 0XA5L (十进制为165) 0X10000L (十进制为65536)
  长整数158L和基本整常数158在数值上并无区别。但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,根据计算机的内部字长和编译器的版本分配2或4个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。对长整型都表示不了的大数,某些编译器规定可有64位整常数表示,后缀为“LL”或“ll”。有时,因为特殊需要,可能要对短整型进行特殊标记,只有部分编译器支持短整型的后缀“S”或“s”。无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如:358u,0x38Au,235Lu均为无符号数。前缀,后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整数A5,其十进制为165。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-12

一分钟了解整数

第2个回答  推荐于2017-10-15
规范的说应该是整型常量吧?

顾名思义,整数型的常量
一个 integer 是集合 Z={...,-2,-1,0,1,2,...} 中的一个数
两边没有边界感觉没错(上面的东西是粘贴的),因为:
其实用汇编语言多大的整数都能表示出来(没深入学过其他语言,不知道其他的能不能),只要内存足够大,并且计算这些超大整数也不是问题

百科里讲的比较明白:

这种东西任何一本讲电脑语言的书上都应该有(某些讲汇编的书除外)本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网