`
隐形的翅膀
  • 浏览: 484632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

uint64_t 一些操作

 
阅读更多
1. 两个无符号32位整数,组合成一个无符号64位整数
高位向左移动32位,在后端添加32个0,再与低位做或的运算,形成一个64位数
uint64_t make64(uint32_t high, uint32_t low)
{
    return (uint64_t) high << 32 | low;
}


2. 取高32位数,直接向右移动32位,去掉低32位,得到高32位数
uint32_t high32(uint64_t value)
{
   return value >> 32;
}


3.
与32个0和32个1的64位数做与运算,得到低32位
uint32_t low32(uint64_t value)
{
    //return value & 0-(32)-1(32);
    return value & 2^32;
}


4. 打印输出 uint_64, long long 是存储了两个long, 地址相连
    long long longint;
    longint = 0x1BCDEFABCDEFCDEF; /* 2003520930423229935 */
    printf("%x%x\n", *(((int*)(&longint))+1), longint);  /* Correct */
    printf("%lld\n",longint);  /* Correct */
    printf("%llx\n",longint);  /* Correct */


输出

1bcdefabcdefcdef
2003520930423229935
1bcdefabcdefcdef

符号属性     长度属性     基本型     所占位数     取值范围       输入符举例      输出符举例

--            --          char         8         -2^7 ~ 2^7-1        %c          %c、%d、%u

signed        --          char         8         -2^7 ~ 2^7-1        %c          %c、%d、%u

unsigned      --          char         8         0 ~ 2^8-1           %c          %c、%d、%u

[signed]      short       [int]        16        -2^15 ~ 2^15-1              %hd

unsigned      short       [int]        16        0 ~ 2^16-1             %hu、%ho、%hx

[signed]      --           int         32        -2^31 ~ 2^31-1              %d

unsigned      --          [int]        32        0 ~ 2^32-1              %u、%o、%x

[signed]      long        [int]        32        -2^31 ~ 2^31-1              %ld

unsigned      long        [int]        32        0 ~ 2^32-1             %lu、%lo、%lx

[signed]      long long   [int]        64        -2^63 ~ 2^63-1             %I64d

unsigned      long long   [int]        64        0 ~ 2^64-1          %I64u、%I64o、%I64x

--            --          float        32       +/- 3.40282e+038         %f、%e、%g

--            --          double       64       +/- 1.79769e+308  %lf、%le、%lg   %f、%e、%g

--            long        double       96       +/- 1.79769e+308        %Lf、%Le、%Lg
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics