zoukankan      html  css  js  c++  java
  • c#Ulong用一个高位Uint和低位Uint表示

    有时候考虑到平台之间的通用性,可能把一个Ulong拆分成2个Uint来进行各平台之间的通讯,当时转换的时候有点头晕,对与或预算不是很熟悉,不过还是花了半小时弄出来了,代码:

                //ulong的最大值2^64
                ulong value = (ulong)System.Math.Pow(2, 60) + 23154679912344;
                byte[] bu = BitConverter.GetBytes(value);
                //高位
                uint high = BitConverter.ToUInt32(bu, 4);
                //低位
                uint low = BitConverter.ToUInt32(bu, 0);
                ulong val1 = (ulong)low;
                ulong val2 = ((ulong)high) << 32;
                ulong val3 = val1 | val2;
                if (val3 == value)
                {
                    Console.WriteLine("Success");
                }    
    

      

    Ok!

  • 相关阅读:
    optparse--强大的命令行参数处理包
    B/S和C/S架构的区别
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    Document
  • 原文地址:https://www.cnblogs.com/wishFreedom/p/3262124.html
Copyright © 2011-2022 走看看