最近做题的时候,经常遇到范围是2^63,取模2^64的这种题目。遇到这种限制条件时就要想到用unsigned long long类型。

可以简洁地声明为typedef unsigned long long ull。这样,如果ull类型的整数溢出了,就相当于取模2^64了。因为ull的范围是[0,2^64-1]。

而ll的范围是[-2^63,2^63-1],因为有符号的第63位表示“正负”而不表示数值

下面给出几组对比程序来加深印象:

(1)

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;typedef long long ll;
typedef unsigned long long ull;int main()
{ll a = ~0LL >> 1;ull b = ~0LL >> 1;cout << a << ' ' << b << endl;
}
/*
输出结果:
-1 18446744073709551615
*/

(2)

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;typedef long long ll;
typedef unsigned long long ull;int main()
{ll a = (1LL << 63) - 1;ull b = (1LL << 63) - 1;cout << a << ' ' << b << endl;cout << a + 1 << ' ' << b + 1 << endl;
}
/*
输出结果:
9223372036854775807 9223372036854775807
-9223372036854775808 9223372036854775808
*/

(3)

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<deque>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<functional>
using namespace std;typedef long long ll;
typedef unsigned long long ull;int main()
{ull a = (1LL << 64) - 1;cout << a << ' ' << a + 1 << endl;
}
/*
输出结果:
18446744073709551615 0
*/

unsigned long long类型与long long类型相关推荐

  1. mysql映射超_Hibernate的映射类型 hibernate mysql映射类型

    (转)http://blog.csdn.net/zxy_snow/article/details/7214222 Hibernate的映射类型 hibernate mysql映射类型 1.Hibern ...

  2. mysql数据库数字类型_Mysql 数据库数值类型详解

    MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ...

  3. [转载]C++ 中有符号类型到无符号类型的转换(C和C++程序员面试秘笈P9面试题6)...

    本文复制自https://blog.csdn.net/abnerwang2014/article/details/20656423,是为了自己以后查看方便才复制过来的,谢谢原博主. 为了更好地解释下面 ...

  4. MySQL 基础 -- MySQL 数据类型说明(数值类型、字符串类型、日期时间类型)、SQL通用语法和SQL分类

    文章目录 1. 数据类型说明(数值类型.字符串类型.日期时间类型) 1.1数值类型 1.2 字符串类型 1.3 日期类型 1.4 数据类型练习:设计一张员工信息表 2. SQL通用语法和SQL分类 2 ...

  5. MySQL字段类型与Java中类型的对应

    MySQL字段类型与Java中类型的对应 在设计数据的时候,需要与Java里的类型进行匹配,我自己在设计过程中参考的内容如下 编号 类型名称 显示长度 数据库类型 Java类型 备注/描述 0 VAR ...

  6. mysql 字段类型 负数_MySQL字段类型详解

    MySQL支持大量的列类型,它可以被分为3类:数字类型.日期和时间类型以及字符串(字符)类型.本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述. ...

  7. C语言 有符号类型转换为无符号类型

    C语言中变量的类型变换比较多,有些地方需要时刻注意,不然很可能写出带有bug的代码并深埋入系统,难以察觉. 例如 有符号类型和无符号类型运算,有符号类型转换为无符号类型. 需要注意的有两种情况: 1. ...

  8. #UML# Astah+Doxygen 将C++源码映射为类图内成员只支持基本类型不支持自定义类型

    根据上篇文章#UML# Astah+Doxygen 将C++源码映射为类图,我们可以很轻松的将源码自动映射成类图, 然而在实际过程中,会发现生成的类图中,成员变量经常会有丢失的现象. 只支持基本类型不 ...

  9. 有符号类型和无符号类型

    负数在计算机中如何表示呢? 1.是否需要有正负. 如果这个量不会有负值,那么我们可以使用无正负的类型. 分正负的类型,称为有符号类型:无正负的类型(只有正值),称为无符号类型. 2.使用二制数中的最高 ...

  10. 指针类型与指针指向类型理解

    今天在看一些C语言面试题时,遇到这样一个题目: #include<studio.h>int main(){unsigned int a = 0xFFFFFFF7;unsigned char ...

最新文章

  1. 微信扫码支付功能详细教程————Java
  2. Rancher前奏--配置Nexus
  3. JavaScript中的Boolean 方法与Number方法
  4. fetch请求报错:
  5. android金币动效_Android 仿余额宝数字跳动动画效果完整代码
  6. 工龄是怎么计算的?几个月算工龄吗?
  7. linux下批量查找UTF-8的BOM文件,并去除BOM
  8. HeadFirstJava——8_接口与抽象类
  9. Java并发学习(四)-sun.misc.Unsafe
  10. protobuf 中 repeated fields 细节
  11. 奈奎斯特定理和香农定理
  12. NLP标注工具Brat
  13. 解读爱奇艺Q2财报:会员数破亿,其他收入打开新增长空间?
  14. 微信小程序 实时录制音视频流和实时播放音视频流
  15. Spark SQL_JZZ158_MBY
  16. Easter Eggs
  17. 计算机专业独显好还是集显好,笔记本选购指南:笔记本电脑核显好还是独显好?...
  18. android省电优化方案,安卓省电折腾那么多年,这几个优化方案效果明显
  19. 【单调栈】洛谷_2947 向右看齐Look Up
  20. 树链剖分(超详细!!!)

热门文章

  1. Pro_07丨波动率因子3.0与斜率因子
  2. rstudio中johansen协整检验代码
  3. C++的atof()
  4. 推荐给中学生的数学课外书:《写给全人类的数学魔法书》
  5. Java 开源中文分词器Ansj 学习教程
  6. 使用层次聚类在结构点云中进行平面的快速提取
  7. 计算机 蚂蚁搬家 教案,《观察蚂蚁搬家》教学设计
  8. cuda,显卡,pytorch三者配置相关知识--学习笔记
  9. Codeforces Round #545 (Div. 2)
  10. CSS02_设置盒子水平+垂直居中 设置文本水平+垂直居中