转载
1、Android的Java中
long 数据类型是 64 位、有符号的以二进制补码表示的整数;
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
这种类型主要使用在需要比较大整数的系统上;
默认值是 0L;
例子: long a = 100000L,Long b = -200000L。
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
2、Android的Jni中
<1>libnativehelper/include/nativehelper/jni.h
typedefint64_t jlong; /* signed 64 bits */
<2>bionic/libc/include/stdint.h
typedef __int64_t int64_t;
#if LP64
typedef long__int64_t;
typedef unsigned long __uint64_t;
#else
typedef long long __int64_t;//走else分支
typedef unsigned long long __uint64_t;
#endif
即:jlong ---> long long 类型对应
3、Android的Native的C++中
example:
Parcel data;
long long length;
data.writeInt64(length);
<1>frameworks/native/libs/binder/Parcel.cpp
status_tParcel::writeInt64(int64_t val){
}
typedef __int64_t int64_t;
typedef long long __int64_t;
int、long、long long取值范围
unsigned int 0~4294967295
int 2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:1844674407370955161
————————————————
版权声明:本文为CSDN博主「慢慢的燃烧」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010164190/article/details/72638873