美文网首页
Android中long类型对应Java/Jni/C++中的类型

Android中long类型对应Java/Jni/C++中的类型

作者: 爱玩保龄球 | 来源:发表于2020-01-08 10:09 被阅读0次

    转载

    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

    相关文章

      网友评论

          本文标题:Android中long类型对应Java/Jni/C++中的类型

          本文链接:https://www.haomeiwen.com/subject/acbjactx.html