c语言 long int最大数,long整型的最大值跟处理器位数有关
再也不用long了!!!
之所以发出这样的感慨。是因为最近被long坑了。
用户行为分析被报两次服务器和本地时间戳记录不正确的问题。
接到问题反馈以后,脑子里先出现了几种导致该问题的可能性
1、服务器时间返回有问题?
处理结果:测试过程中未复现,无从查证。
2、没有处理获取服务器时间接口报错的问题导致?
处理结果:将接口返回错误的情况进行处理。
经验证,实际上即使接口报错也并不会导致此问题,因为本地时间戳和服务器时间戳这两个变量都有传默认值,也就是本地时间。所以当初没有做这里的处理。
3、服务器时间计算出问题?
处理结果:重新捋了一下代码,并没有发现问题所在。
4、时间戳有溢出?
处理结果:依旧没有复现,不过将ClientTimeStamp和ServerTimeStamp变量类型由long改为long long以防万一。
进一步定位:
经查得出结论。确实是由于32位机型和64位机型的long整型最大值不同导致的。我忽略了32位处理器的long整形的最大值和int值一样,都是2147483647unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 和int一样
long 和int一样
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
64bit下
unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 和 unsigned long long一样
long 和long long一样
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615
最后再次确定结论:
查询用户行为分析日志发现。出现时间戳不正确的机型为iphone5和ipad mini1,这两款机型都是32位处理器,怪不得手里的机器一直复现不了。第二步,翻看时间戳错误的记录,所有的ClientTimeStamp都是2147483647,溢出后的最大值。再次证实这一结论。
所以,以后建议大家,遇到处理时间戳(毫秒级)或者你不确定返回数值有多大的情况。一定要用long long型,避免带来不必要的麻烦。
在32位系统中
int 占4个字节
long 占4个字节
NSInteger 是int的别名,占4个字节
long long 占8个字节
int32_t 是int的别名,占4个字节
int64_t 是long long的别名,占8个字节
在64位系统中
int 占4个字节
long 占8个字节
NSInteger 是long的别名,占8个字节
long long 占8个字节
int32_t 是int的别名,占4个字节
int64_t 是long long的别名,占8个字节
c语言 long int最大数,long整型的最大值跟处理器位数有关相关推荐
- c语言整型最大数,C语言:求一个短整型正整数中的最大数字
C语言:求一个短整型正整数中的最大数字 关注:84 答案:5 手机版 解决时间 2021-01-16 02:17 提问者舊倳偂歡 2021-01-15 14:26 例如整数12354中的最大数字是 ...
- c语言中长整型的作用,C语言,整形和长整型都占四个字节?
C语言中,整型常量和长整型常量,有什么区别? 整型常量和长整型常量(包括有符号的和无符号的),为什么占用字节数和一.指代不同 整型常量:是通常的整数,包括正整数.负整数和0,其数据类型显然是整型. 长 ...
- C语言中的截断与整型提升
C语言中的截断与整型提升 我们首先来看一段代码: #include<stdio.h> #include<stdlib.h> union Un//--联合体 { char c;i ...
- 2.2 Go语言中的布尔型和整型
变量类型 上一节对Go语言中的变量的定义方法进行了介绍,定义的方式一种是显示,一种为隐式.显示定义需要明确变量类型,而隐式定义则根据赋予的值来决定变量的类型.那么Go语言中到底有多少种变量类型呢?可以 ...
- 语言转4字节数据整型_R语言与RGui平台_数据类型_向量_4
计算机语言RGui平台上的R语言__数据类型_向量_4 R语言进阶4_数据类型_向量1 咱们而可以从自然语言(汉语.英.法.俄.德.日.拉丁.伊斯兰.等等)的基本特征来看--词汇.句子.段落.结构.文 ...
- C语言加强学习营(二):定义整型的最大值和最小值
示例 #include <stdio.h> #include <stdint.h>int main(int argc, char **argv) {uint8_t uint8_ ...
- php整型的最大值,php整型(Integer)
一个 integer 是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中的一个数. 语法 整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 ...
- C语言阅读程序输出星号井号,第1章 C语言概述-python的长整型-WinFrom控件库|.net开源控件库|HZHControls官网...
声明:文中观点仅代表个人,其中文字.图片未经本人许可,不得部分或全部转载,违者所造成影响后后果自负!联系本人方式:80368704@qq.comQQ:80368704 第1章 C语言概述 1.1和1. ...
- c语言布尔类型赋值给整型,C语言的布尔类型(_Bool)【转】
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1. 我们自己定义的"仿布尔型" 在C99标准被支持之前,我们常常自己模仿定义布尔型,方式有很多种,常见的有下面两种: view pl ...
- mysql中长整型是longint_整型int和长整型long
python 一切事物都是对象,对象基于类创建 类:(列表)功能集合 查看对象相关成员:var,type,dir 一.整数int int(x=0) -> int or long int(x, b ...
最新文章
- 人物丨深度学习大神Hinton推翻自己30年的学术成果另造新世界
- 3.6.1 局域网的基本概念和体系结构
- JavaEE进阶知识学习-----SpringCloud(六)Ribbon负载均衡
- [Leedcode][JAVA][第1248题][统计「优美子数组][找规律]
- Mysql报错:2006 - MySQL server has gone away
- 迎新年\年会背景PSD分层模板
- php 抽象类 静态 单体设计模式
- 泛微oa主表赋值明细表_OA系统学习--三
- WPF中,输入完密码回车提交 ,回车触发按钮点击事件
- 斗鱼html5插件 edge,斗鱼HTML5播放器插件
- 用python画简单的猴子画法_10种可爱的小猴子简笔画合集,分分钟被萌翻,一看就会画...
- 阴阳师维护服务器,阴阳师3月3日服务器维护更新内容公告
- Unity中UI的LookAt效果实现
- Docker常用命令(基础)
- 微信麻将连接服务器失败,微乐麻将授权失败是怎么回事?微乐麻将怎么用微信登录?...
- MFC使用CButtonST类实现按钮图片功能
- 网络安全风险感知和发掘,练习题
- Phython做小鸟飞行游戏
- 冠军专访:是情侣,更是夺冠道路上的最佳伙伴
- PMP 1~3章错题总结
热门文章
- mbr+bios gpt+uefi_小白安装系统之LEGACY、UEFI、GPT和MBR
- 几种统计图表的作用和区别
- 栈和队列的共同点和不同点
- 小说网站源码+采集器+App端
- python乌龟吃鱼_Python面向对象练习-通过pygame改良乌龟吃鱼
- PostgreSQL Array 数组类型与 FreeSql 打出一套【组合拳】
- 使用element插件点击跳转时报错form-item.vue:315 Uncaught (in promise) TypeErelForm.removeField is not a function
- Laravel文档阅读笔记-Adding a Markdown editor to Laravel
- 7628刷breed_H大的最新版Breed不死u-boot
- t检验自由度的意义_统计学常用概念:T检验、F检验、卡方检验、P值、自由度...