整型数 🦅 据的符号 🐕 分类 🐯
整型数据根据符 🌴 号的 🐘 不同,可以分为两 🦢 大类:
有符 🐘 号整数:
使用一个额外的位(符号位)来表示数字的正负号符号位。为表示正数为表示负数 0 有符号,整数的 1 取。值,范,围。有限因为符号位占用了一个位导致可 🌾 表示的 🐴 数字范围缩小
无 🐺 符号整 🐶 数:
不使用符号位,所有位都用于表示数字本身。因,此。无符号,整数只能表示非负数无符号整 🐧 数 🐱 的取值范围比有符号整数大因为没有符号位的*。
有符号整数和无符号整数的比较 🐴
| 特 🐒 征 | 有 🌲 | 符 |号整 💐 数无符号整数
|---|---|---|
| 符 🌵 号位 🐘 | 有 | 无 🕊 |
| 取值范围 🕸 | 有限,包 | 括,正 |负数无限仅限 🍀 于非负数
| 大小 | 与 | 位 |数 🌾 成正比与 🐈 位数 🦋 成正比
| 运 🐳 算 🕊 | 支 | 持 |加减乘除等运算仅支 🐕 持加减乘等运算
| 用途 | 表示带符号的数据,如温度、距 🍁 | 离表示,非、负 |数的 🍀 数据如计数索引 🦈
在实际应用中,根,据数据的性质和 🌾 处理需求选择适当的有符号或无符号整数类型。例,如,表示温度时需要使用有符号整数因为温度可以是正负值;而,表。示计数时则 🌻 使用无符号整数因为计数只能是正数
整型数据对应的格式说明 🐺 符主要有以下几种:
十进制(%d):表示十进 💐 制整数,可 🐴 以输出正负号。
八进 🐎 制(%o):表示八进制整数,输出时不带前缀0。
十六进制(%x):表 🐛 示十六进制整数,输出时带有小写 🐈 前 🌵 缀0x。
大写十六进制(%X):表示十六 🐅 进制整数,输出时带有大写前 🐼 缀0X。
除了 🐱 这些基本格式说明符外,还可以使用 🌻 以下修饰符来控制输出格式:
宽度修 🦟 饰 🦢 符(%n):指定输出的zui小宽度,不足则用空格或0填充。
精 🌾 度修饰符(%.n):指定小数点后输出的位数,不足则用0填充。
标 🐅 志 🐧 修 🌴 饰符:
`-`:左 🐞 对齐输 ☘ 出 🕊 。
`+`:输出时始终带有正负号 🐳 。
` `:输出 🪴 正数时带有 🦈 前导空格。
``:对于八进制 🌵 和十六进制输出,带有前缀0或0x。
示 🌹 例 🐛 :
c++
include
include
using namespace std;
int main() {
int num1 = 123;
int num2 = 0xABC;
int num3 = -456;
// 十进 🐦 制 🌸 输 🌵 出
cout << "十 🐡 进 🐯 制:" << num1 << endl;
// 八 🐴 进制输出,zui小宽度 🐈 为 🌷 10
cout << "八进制,zui小 🦈 宽度为10:" << setw(10) << oct << num2 << endl;
// 十六 🐝 进制输出,左对齐 🦋
cout << "十 🦟 六进 🦈 制,左对齐:" << left << hex << num3 << endl;
ret*n 0;
输 🦍 出 🌺 结果 🦢 :
```
十 🌵 进 🐋 制 🐘 :123
八进制,zui小宽 🐦 度 🐘 为10: 1413
十六进制,左对 🐒 齐:-1C8
```
数据类型 🦆 整 🌲 形 🌷 符号
数据类型整形符号用于修改变量或常量的类型,以匹配特定需求以。下列出常用的数据类型 🐯 整形符号:
1. 类型 🐡 转 🦄 换符号
`(type)`:括 🐧 号中的 ☘ 类型名称,将变量或常量转换为指定类型。例如将:`(int) 3.14` 浮点数转 🦅 换为 3.14 整数 3。
2. 算术运算 🐒 符
`+`、`-`、``、`/`:算术 🐒 运算符可用于将变量转换为不同类 🌲 型的数字。例如将:`int i = 10; i += 2.5;` 整数转 🕊 换为 i 浮点数,并将其值增加 2.5。
3. 位 🌲 运 🌵 算 🌸 符
`&`、`|`、`^`:位运算符用于对二进制位 ☘ 值进行*作,可将变量强制转 🐱 换为特定的整数类型。例如将转换为位:`(int) (10 & 0xFF)` 有符 10 号整数 8 。
4. 比 🐕 较运算 🦍 符 🐦
`==`、`!=`、`<`、`>`、`<=`、`>=`:比较运算符 🐦 可用于将布尔值转换为整数。例如将比较:(int) (a > b) 结果转换为 🐞 整数 1(真)或 0(假)。
5. 逻 🐎 辑 🦄 运算符
`&&`、`||`、`!`:逻辑 🕷 运算 🌼 符可用于将布尔值转换为整数。例如将逻辑:(int) (a && b) 的 AND 结果转换为整数 1(真)或 0(假)。
注 🐋 意事项:
数据类型 🐞 整形符号可能会导致数据溢 🦄 出或精度损失。
应谨慎使用整形符号,并 🦊 确保不会导致程序中的意外行为。
在使用定点数 🌹 时,应考虑舍入误差。