C++中整型字面量的使用细节

news/2025/2/12 19:21:53

C++中整型字面量的使用细节

整型字面值(常量)是显式地书写的常量,如212或1776。与C相同,C++能够以三种不同的计数方式来书写整数:基数为10、基数为8(老式UNIX版本)和基数为16(硬件黑客的最爱)。附录A介绍了这几种计数系统:这里将介绍C++表示法。C++使用前一(两)位来标识数字常量的基数。如果第一位为1~9,则基数为 10(十进制);因此 93 是以 10为基数的。如果第一位是 0,第二位为 1~7,则基数为8(八进制);因此 042的基数是8,它相当于十进制数 34。如果前两位为0x或 0X,则基数为16(十六进制);因此 0x42 为十六进制数,相当于十进制数 66。对于十六进制数,字符 a~f和 A~F 表示了十六进制位,对应于10~15。0xF为15,0xA5为165(10个16加5个1)。程序清单 3.3演示了这三种基数。

// hexoct1.cpp -- shows hex and octal literals
#include <iostream>
int main()
{using namespace std;int chest = 42;     // decimal integer literalint waist = 0x42;   // hexadecimal integer literalint inseam = 042;   // octal integer literalcout << "Monsieur cuts a striking figure!\n";cout << "chest = " << chest << " (42 in decimal)\n";cout << "waist = " << waist << " (0x42 in hex)\n";cout << "inseam = " << inseam << " (042 in octal)\n";// cin.get();return 0; 
}

在默认情况下,cout 以十进制格式显示整数,而不管这些整数在程序中是如何书写的,如下面的输出所示:

Monsieur cuts a striking figure!
chest =42(42 in decimal)
waist=66(0x42 in hex)
inseam=34(042 in octal)

记住,这些表示方法仅仅是为了表达上的方便。例如,如果CGA视频内存段为十六进制 B000,则不必在程序中使用之前将它转换为十进制数 45056,而只需使用0xB000即可。但是,不管把值书写为 10、012还是0xA,都将以相同的方式存储在计算机中–被存储为二进制数(以2为基数)。

对C++感兴趣的朋友点这里:C/C++课程


https://dhexx.cn/news/show-5391616.html

相关文章

爱,需要学习--如何进入到一段亲密关系

[页面 7]: 亲密关系的经营&#xff0c; 是自我发展的延伸&#xff0c; 只不过和自我发展 相比&#xff0c; 亲密关系的经营有自己的逻辑&#xff0c; 它围绕着两个核心展 开。 [页面 7]: 一个核心是“关系”。“关系”不是你的事&#xff0c;也不是我的事&#xff0c;而 是发生…

Navicat和SQLynx产品功能比较一(整体比较)

Navicat和SQLynx都是数据库管理工具&#xff0c;在过去的二十年中&#xff0c;国内用户主要是使用Navicat偏多&#xff0c;一般是个人简单开发需要&#xff0c;数据量一般不大&#xff0c;开发相对简单。SQLynx是最近几年的数据库管理工具&#xff0c;Web开发&#xff0c;桌面版…

JS读取目录下的所有图片/require动态加载图片/文字高亮

<template class"aa"><div class"demo-image__lazy container"><div class"head"><div class"left-bar"><div><span>综合</span></div><div><span>定位</span><…

C++ 18 之 函数的重载

c18函数的重载.cpp #include <iostream> #include <string.h> using namespace std;void fun4(int a) {cout << "int a: "<< a << endl; } void fun4(double a) {cout << "double a: " << a << endl; }v…

centos7.9如何启动vnc服务

安装步骤 # 安装vncserver yum install tigervnc-server# copy配置文件 cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service#修改user用户 vim /etc/systemd/system/vncserver@:1.service# 重新加载systemd管理配置文件 systemctl daemon-r…

私人云盘(自动云同步)

一、项目简介 模仿小米的云服务&#xff0c;实现一个通过TCP实现的私人云盘&#xff0c;因为能力有限&#xff0c;所以只实现自动云同步这一个功能&#xff0c;具体可以分为三个小功能&#xff0c;即保持云端和终端数据一致、实现文件的上传与下载以及手动同步 二、涉及到的知…

lvgl手势事件判断为点击事件问题

lvgl手势事件判断为点击事件问题处理方法 1.打开文件lvgl\src\core\lv_indev.c 2. 修改函数 static void indev_proc_release(_lv_indev_proc_t * proc)2.1 由原来的 /*** Process the released state of LV_INDEV_TYPE_POINTER input devices* @param proc pointer to an …

Rust 异步 trait 的实现困难

在 Rust 中&#xff0c;异步编程是使用 async/await 语法来实现的。与传统的同步编程不同&#xff0c;异步编程涉及到的特性较多&#xff0c;其中一个重要的特性是异步 trait。 异步 trait 是具有异步方法的 trait。在 Rust 中&#xff0c;trait 方法默认是同步的&#xff0c;…

【Numpy】一文向您详细介绍 np.floor()

【Numpy】一文向您详细介绍 np.floor() 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕&#xff0c;…

IDEA启动正常debug启动报错

项目场景&#xff1a; 很奇怪的一个问题,项目运行正常,debug启动直接报错,运行不起来 Exception in thread "main" java.lang.ClassNotFoundException: kotlinx.coroutines.debug.AgentPremainat java.net.URLClassLoader.findClass(URLClassLoader.java:382)at ja…