C语言整型常量的表示方法

整形常量就是整常数,在c语言中,使用的整常数有八进制,十进制和十六进制三种

1)十进制常数:十进制常数没有前缀,其数码为0~9。 以下各数是合法的十进制整常数: 237、-568、65535、1627; 以下各数不是合法的十进制整 023 (不能有前导0)、23D (含有非十进

在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错造成 结果不正确。

2)八进制整常数:八进制整常数必须以0开头,既以0作为八进制的数的前缀,数码取 值为0~7。八进制数通常是无符号数。 以下各数是合法的八进制数: 015(十进制为13)、0101(十进制为65) 0177777(十进制为65535); 以下各数不是合法的八进制数:

256(无前缀0)、03A2(包含了非八进制数码),-0127(出现了负号)。

3)十六进制整常数:十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或 a~f。 以下各数是合法的十六进制整常数;

0X2A(十进制为42)、0XA0 (十进制为160)0xFFFF(十进制为65535); 以下各数不是合法的十六进制整常数: 5A (无前缀0X)、0X3H (含有非十六进制数码)。

4)整型常数的后缀:在16位字长的机器上,基本整型的长度也为16位,因此表示的 数的范围也是有限定的。十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。八进制无符号数的表示范围为0~0177777。十六进制无符号数的表示范围为0X0~0XFFFF或0x0~0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀"L"或"l"来表示的。

例如:

十进制长整常数

158L (十进制为158)358000L(十进制为358000); 八制长整常数:

012L (十进制为10)077L(十进制为63),0200000L (十进制为63336); 十六进制长整常数:

0X15L (十进制为21),0xA5L(十进制为165),0x10000L(十进制为65536)。 长整数158L和基本整常数158 在数值上并无区别。但对158L,因为是长整型量, c编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,只分配2 个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。 无符号数也可用后缀表示,整

型常数的无符号数的后缀为"U"

例如:

358u,0x38Au,235Lu均为无符号数

前缀,后缀可同时使用以表示各种类型的数,如0xA5Lu表示16进制无符号长整数A5,其十进制为165

相关推荐
蜡笔小新星7 分钟前
Python Kivy库学习路线
开发语言·网络·经验分享·python·学习
凯子坚持 c7 分钟前
C语言复习概要(三)
c语言·开发语言
无限大.19 分钟前
c语言200例 067
java·c语言·开发语言
余炜yw20 分钟前
【Java序列化器】Java 中常用序列化器的探索与实践
java·开发语言
无限大.21 分钟前
c语言实例
c语言·数据结构·算法
篝火悟者21 分钟前
问题-python-运行报错-SyntaxError: Non-UTF-8 code starting with ‘\xd5‘ in file 汉字编码问题
开发语言·python
Death20024 分钟前
Qt 中的 QListWidget、QTreeWidget 和 QTableWidget:简化的数据展示控件
c语言·开发语言·c++·qt·c#
六点半88825 分钟前
【C++】速通涉及 “vector” 的经典OJ编程题
开发语言·c++·算法·青少年编程·推荐算法
惜.己25 分钟前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
niu_sama29 分钟前
基于muduo库函数实现protobuf协议的通信
开发语言·qt