C++(1):整数常量

目录

一、进制表示

二、后缀指定类型

三、示例与注意

四、总结表


一、进制表示

  1. 十进制(Decimal)

    • 格式 :无前缀,由数字 0-9 组成。

    • 示例12342

    • 注意 :不能以 0 开头(否则会被视为八进制)。

  2. 八进制(Octal)

    • 格式 :以 0 为前缀,由数字 0-7 组成。

    • 示例0123(十进制 83)、07

    • 错误示例019(包含非法数字 9)。

  3. 十六进制(Hexadecimal)

    • 格式 :以 0x0X 为前缀,由数字 0-9 和字母 A-F(大小写不敏感)组成。

    • 示例0x1A(十进制 26)、0XFF(十进制 255)。

二、后缀指定类型

整数常量可通过后缀组合 U(无符号)和 L(长整型)指定类型:

  1. 后缀规则

    • Uu:表示无符号(unsigned)。

    • Ll:表示长整型(long)。

    • 可组合使用,顺序和大小写任意,如 ULLUul 等。

    • 示例

      • 123U(无符号整型)

      • 0x1AL(长整型)

      • 42UL(无符号长整型)

  2. 类型确定规则

    • 无后缀 :根据值大小自动选择 intlonglong long

    • U :选择 unsigned intunsigned longunsigned long long

    • L :选择 longunsigned long(若同时有 U)。

    • LL(扩展) :C++11 起支持 long long 类型,后缀为 LLll

三、示例与注意

  1. 示例

    • 十进制:123int(若值在 int 范围内)。

    • 八进制:042 → 十进制 34,类型为 int

    • 十六进制:0x2A → 十进制 42,类型为 int

    • 后缀组合:123ULL → 无符号长整型(unsigned long long)。

  2. 注意

    • 八进制陷阱 :避免误用 0 前缀(如 012 是八进制,非十进制 12)。

    • 后缀可读性 :建议使用大写后缀(如 UL 而非 ul),避免与数字 1 混淆。

    • 负号问题 :负号(-)是运算符,非常量的一部分。例如,-123U 等价于对 123U 取负,结果按无符号规则转换。

    • 类型大小依赖实现longint 的大小由编译器和平台决定(如 32/64 位系统)。

四、总结表

进制 前缀 合法字符 示例 后缀组合 类型推断规则
十进制 0-9 42 ULUL 最小能容纳值的带符号类型
八进制 0 0-7 0123 同上 同上
十六进制 0x/0X 0-9A-F/a-f 0x1F 同上 同上
相关推荐
Chef_Chen3 分钟前
从0开始学习R语言--Day39--Spearman 秩相关
开发语言·学习·r语言
不学会Ⅳ10 分钟前
Mac M芯片搭建jdk源码环境(jdk24)
java·开发语言·macos
2401_8812444014 分钟前
牛客周赛99
c++
好开心啊没烦恼1 小时前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas
lljss20202 小时前
Python11中创建虚拟环境、安装 TensorFlow
开发语言·python·tensorflow
山登绝顶我为峰 3(^v^)33 小时前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
Python×CATIA工业智造5 小时前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
十五年专注C++开发6 小时前
CMake基础:条件判断详解
c++·跨平台·cmake·自动化编译
我叫小白菜6 小时前
【Java_EE】单例模式、阻塞队列、线程池、定时器
java·开发语言
狐凄6 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python