C/C++中的整数文字(前缀和后缀)

Integer literal是在源代码中直接表示其值的整数的一种文字。例如,在赋值语句中 x=1 ,字符串1是一个整数文本,指示值1,而在语句中 x=0x10 绳子 0x10 是一个整数文本,指示值16(十进制),十六进制表示为10(由0x前缀表示)。 此外,在 x=“1” “1”是字符串文字(不是字符或整数文字),因为它在引号中。字符串的值为1,这恰好是一个整数字符串。

null

整数文本有两种类型,即:。,

  1. 前缀 这表明了基地。例如 0x10 指示值 16 十六进制中有前缀的 0x .
  2. 后缀 这表示类型。例如 1234567890134LL 指示值 12345678901234 作为一个有后缀的长整数 陆上通信线 .

语法

  • 前缀: 它们基本上有四种类型。
    1. 十进制文字(以10为基数) :-一个非零十进制数字,后跟零个或多个十进制数字(0、1、2、3、4、5、6、7、8、9)。例如 56, 78 .
    2. 八进制文字(基数8) :-零后跟零或更多八进制数字(0、1、2、3、4、5、6、7)。例如 045, 076, 06210 .
    3. 十六进制文字(基数16) :-0x或0x后跟一个或多个十六进制数字(0、1、2、3、4、5、6、7、8、9、a、a、b、b、c、c、d、d、e、e、f、f)。例如 0x23A、0Xb4C、0xFEA .
    4. 二进制文字(基数2) :-0b或0b后跟一个或多个二进制数字(0,1)。例如 0b101、0B111 .
  • 后缀: 它们根据数据类型以多种方式表示。
    1. 智力 :-不需要后缀,因为默认情况下整数常量被指定为int数据类型。
    2. 无符号整型 字体字符 你还是你 在整型常数的末尾。
    3. 长整型 字体字符 我还是我 在整型常数的末尾。
    4. 无符号长整型 字体字符 ul还是ul 在整型常数的末尾。
    5. 双长整型 字体字符 还是 在整型常数的末尾。
    6. 无符号长长整型 字体字符 乌尔还是乌尔 在整型常数的末尾。

// C++ program to demonstrate the use of
// integer literal
#include <iostream>
using namespace std;
int main()
{
// PREFIXES
cout << 213   << '' // decimal integer literal
<< 0213  << '' // Octal integer literal
<< 0x213A << '' // hexadecimal integer literal
<< 0b101  << '' // binary integer literal
// SUFFIXES
// long long literal
<< 1234567890123456789LL << ''
// unsigned long long literal
<< 12345678901234567890ull << ''
// automatic conversion of unsigned long long even
// without long long prefix
<< 12345678901234567890u;
return 0;
}


Output:
213
139
8506
5
1234567890123456789
12345678901234567890
12345678901234567890
1221300

数字分隔符: 在C++中,整数文字可以包含数字分隔符,以使数字分组成为更可读的形式。这对位字段特别有用,通过对数字进行子化而不是计数,可以更容易地一眼看到大数字(例如一百万)的大小。它也适用于通常分组的号码,例如信用卡号码或社会保险号码。[a] 很长的数字可以通过将分隔符加倍来进一步分组。 通常,十进制数(base-10)分为三个数字组(代表1000个可能值中的一个)、二进制数(base-2)分为四个数字组(一个半字节,代表16个可能值中的一个),十六进制数(base-16)分为两个数字组(每个数字是一个半字节,所以两个数字是一个字节,代表256个可能值中的一个)。来自其他系统的号码(如id号)按照使用的任何约定进行分组。

// C++ program to demonstrate digit separator
#include <iostream>
using namespace std;
int main()
{
cout << 12345678901245LL << ''
// long long int literal digit separator
<< 12 '345' 678 '901' 245LL << ''
// binary literal digit separator
<< 0b1000 '111' 0 << ''
// hexadecimal literal digit separator
<< 0X12A'2b4;
return 0;
}


Output:
12345678901245
12345678901245
142
1221300

参考 :- https://en.wikipedia.org/wiki/Integer_literal 本文由 Shubham Bansal .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享