http://bbs.csdn.net/topics/380028485

整型常量的类型是下列相应表中第一个能表示其值的类型:

int --> long int --> long long int

无后缀的十进制整数常量:int,long int,long long int
以字母u或U为后缀的十进制整型常量:unsigned int,unsigned long int,unsigned long long int

以字母l或L为后缀的十进制整型常量:long int,long long int
同时以字母u或U和字母l或L为后缀的十进制整型常量:unsigned long int,unsigned long long int

以字母ll或LL为后缀的十进制整型常量:long long int
同时以字母u或U和字母ll或LL为后缀的十进制整型常量:unsigned long long int

无后缀的八进制或十六进制常量:int,unsigned int,long int,unsigned long int,long long int,unsigned long long int
以字母u或U为后缀的八进制或十六进制常量:unsigned int,unsigned long int,unsigned long long int
以字母l或L为后缀的八进制或十六进制常量:long int,unsigned long int,long long int,unsigned long long int

同时以字母u或U和字母l或L为后缀的八进制或十六进制常量:unsigned long int,unsigned long long int
以字母ll或LL为后缀的八进制或十六进制常量:long long int,unsigned long long int

同时以字母u或U和字母ll或LL为后缀的八进制或十六进制常量:unsigned long long int

http://www.rapidtables.com/prog/cref/const.htm

Numbers characters and string constants.

See enum end const in data types page.

Data Type Constants

Syntax Description Example

0xhexnum

0Xhexnum

hexadecimal number int x=0x7FFF0000;

0 octnum

octal number int x=07654321;

num u

num U

unsigned integer number constant unsigned int x=1000U;

num l

num L

long integer number constant long x=-99999L;

num ul

num UL

unsigned long integer number constant unsigned long x=99999L;

num ll

num LL

long long  integer number constant long long x=-888888LL;

num ull

num ULL

unsigned long long integer number constant unsigned long long x=100ULL;

num f

num F

float number constant float x=0.005F;

num l

num L

long double number constant long double x=0.005L;

num exp

num exp

floating point exponent number constant double x=5.2E-3;

'char'

character constant char c='A';

"string"

string constant char name[6]="Hello";

http://stackoverflow.com/questions/7036056/what-do-0ll-or-0x0ul-mean

These are constants in C and C++.
The suffix LL means the constant is of type long long, and UL means unsigned long.

In general, each L or l represents a long and
each U or u represents anunsigned. So, e.g.

1uLL    // means the constant 1 with type unsigned long long.

This also applies to floating point numbers:

1.0f    // of type 'float'
1.0 // of type 'double'
.0L // of type 'long double'

and strings and characters, but they are prefixes:

 'A'   // of type 'char'
L'A' // of type 'wchar_t'
u'A' // of type 'char16_t' (C++0x only)
U'A' // of type 'char32_t' (C++0x only)

In C and C++ the integer constants are evaluated using their original type,
which can cause bugs due to integer overflow:

long long nanosec_wrong =  * ;
// ^ you'll get '-1295421440' since the constants are of type 'int'
// which is usually only 32-bit long, not big enough to hold the result. long long nanosec_correct = 1000000000LL *
// ^ you'll correctly get '600000000000' with this int secs = ;
long long nanosec_2 = 1000000000LL * secs;
// ^ use the '1000000000LL' to ensure the multiplication is done as 'long long's.

In Google Go, all integers are evaluated as big integers (no truncation happens),

var nanosec_correct int64 =  * 

and there is no "usual arithmetic promotion"

 var b int32 =
var a int64 = * b
// ^ cannot use 1000000000 * b (type int32) as type int64 in assignment

so the suffixes are not necessary.

C 常量的类型的更多相关文章

  1. ios swift 里面关于变量 常量 可选类型 控制流的一些心得

    //swift 里面没有头文件和实现文件.只有一个.swift文件 //swift 里面没有main的概念,程序从main.swift开始执行 //swift 每一条执行语句可以不用分号结束,多条语句 ...

  2. 【c++primer练习】 typedef与指针、常量和类型别名

    # c++primer 61页 typedef char* ptr ; cstr 是一个指向 char 的常量指针, 一种错误的理解是将语句等同于const char* ptr cstr; 但 ptr ...

  3. Java基础(变量数&常量&据类型&类型转换)

    什么是变量: 变量就是一个不固定的数值,它随时会改变,就像银行卡里存的钱一样会变动. 变量的格式:1  数据类型 变量名=变量值:  2  数据类型 变量名: 变量名=变量值: 变量的三大要素:1变量 ...

  4. C#中的常量、类型推断和作用域

    一.常量 常量是其值在使用过程中不会发生变化的变量.在声明和初始化变量时,在变量前面家关键字const,就可以把该变量指定为一个常量: const int a=100;//a的值将不可以改变 常量的特 ...

  5. swift语法之常量 变量 类型

    常量和变量: 在swift中声明变量或者声明常量的时候可以不用写变量或者常量类型 因为系统会自动推导出对应的类型. 变量:可以更改值 swift中每句代码后面不需要加 ; 号 var num = 5 ...

  6. Effective Objective-C 2.0 — 第四条:多用类型常量,少用#define预处理指令

    第四条:多用类型常量,少用#define预处理指令 使用#define 预处理的坏处:定义出来的常量没有类型信息,编译器只是会在编译前据此执行查找与替换操作.即使有人重新定义了常量值,编译器也不会产生 ...

  7. 第4条:多用类型常量,少用#define预处理指令

    定义常量的几种方式: 1.#define ANIMATION_DURAION 0.3         //定义了一个动画时长的常量, 预处理过程会把碰到的所有ANIMATION_DURAION一律替换 ...

  8. 【Go入门教程4】变量(var),常量(const),内置基础类型(Boolean、数值 byte,int,rune、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go 内置类型以及 Go 程序设计中的一些技巧. 定义变量 Go 语言里面定义变量有多种方式. 使用 var 关键字是 Go 最基本的定义变量方式,与 C 语言不 ...

  9. 多用类型常量,少用#define预处理指令

    摒弃: #define ANIMATION_DURATION 0.3   #define ERROR_MESSAGE @“ErrorMessage” 1)没有常量的类型信息 2)假设此指令声明在某个头 ...

随机推荐

  1. MFC中CString.Format类详解

    在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CString的Format方法给我们进行字符串的 ...

  2. require和import的区别

    require:是一种common协议,大家按照这个约定书写自己的代码,实现模块化. import:是ES6的模块语法实现.是语言自身的模块实现.

  3. 区间DP小结

    也写了好几天的区间DP了,这里稍微总结一下(感觉还是不怎么会啊!). 但是多多少少也有了点感悟: 一.在有了一点思路之后,一定要先确定好dp数组的含义,不要模糊不清地就去写状态转移方程. 二.还么想好 ...

  4. linux下Ctrl命令组合

    1.键盘组合键操作 ctrl-c 发送 SIGINT 信号给前台进程组中的所有进程.常用于终止正在运行的程序. ctrl-z 发送 SIGTSTP 信号给前台进程组中的所有进程,常用于挂起一个进程.  ...

  5. Robust Mesh Watermarking

    之前看了一篇题为"Robust Mesh Watermarking"的论文,查阅资料的时候发现了一篇与之很相似的名为"三维模型数字水印系统的设计与实现"的中文论 ...

  6. ROSCon 2017通知 Announcing ROSCon 2017: September 21st and 22nd in Vancouver

    ROSCon 2017通知:9月21日和22日在温哥华 我们很高兴地宣布,2017年ROSCon将在举行9月21-22日,2017年温哥华会议中心在加拿大温哥华.2017年IROS将在同一地点9月24 ...

  7. Mget is available.

    Table of Contents 1. Introduction 2. Use tmget in gentoo 3. About MTU 1 Introduction MulityGet to sp ...

  8. git/github 生成密钥

    当从本地提交文件到github的时候,提交不成功,报错,可能问题就是你还没有生成ssh秘钥 github要使用ssh密钥的原因: git使用https协议,每次pull, push都要输入密码,相当的 ...

  9. PostgreSQL数据库如果不存在则插入,存在则更新

    INSERT INTO UM_CUSTOMER(customercode,CompanyFlag,InputTime,LocalVersion) ) ON conflict(customercode) ...

  10. mycat性能调优

    http://blog.csdn.net/wangshuang1631/article/details/69056070