【问题标题】:ulong to hex conversion clarificationulong 到 hex 转换说明
【发布时间】:2016-02-25 02:29:25
【问题描述】:

我有一个参考程序,我上网了。在该变量中data64 被定义为ulong 类型。他们将其转换为 unicode 并显示在这样的文本框中:

TextBox1.AppendText = Rxmsg.data64.ToString("X");

data64 的实际值为“12288092688749907974”。 虽然它显示在文本框中,但值为“AA88133200035006”。我认为这是一个简单的十进制到十六进制转换。所以我将data64 值转换为十六进制,但我错了。谁能澄清一下上述转换是如何进行的?这与我的一个项目有关。对我来说,继续前进会非常有用。

【问题讨论】:

    标签: c# unicode hex type-conversion ulong


    【解决方案1】:

    原因是显示的字节顺序

    IsLittleEndian 是:06-50-03-00-32-13-88-AA

    IsLittleEndian 编号:AA-88-13-32-00-03-50-06

    fiddle demowikipedia link

    using System;
    
    namespace ConsoleApplication1
    {
        public class Program
        {
            public static void Main(string[] args)
            {
                var value = 12288092688749907974u;
                var bytes = BitConverter.GetBytes(value);
    
                Console.Write(BitConverter.IsLittleEndian ? "IsLittleEndian Yes" : "IsLittleEndian No");
                Console.WriteLine(" Value " + BitConverter.ToString(bytes));
    
                Array.Reverse(bytes);
                Console.Write(BitConverter.IsLittleEndian ? "IsLittleEndian No" : "IsLittleEndian Yes");
                Console.WriteLine(" Value " + BitConverter.ToString(bytes));
    
                Console.Read();
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 2013-08-07
      • 1970-01-01
      • 2013-12-20
      相关资源
      最近更新 更多