如题,
double a = 1.23456;
byte[] abuf = new byte[8];double点8个字节,也就是说1.23456放在8个字节里面,我想让它显示每个字节里的信息是什么,我之前想把a这个变量放到abuf这个数组里面,一个字节放入一个数组元素里面,然后显示它,可是我不知道怎么放别说它在内存里面是以二进制的方式存放,这一点我知道,我现在就是想知道,这8个字节里面的二进制数据是什么,怎么以十六进制的方式把这八个字节里面的信息显示出来,谢谢~~~

解决方案 »

  1.   

    using System;class Program 

      static void Main() 
      {
        double a = 1.23456; 
        byte[] abuf = BitConverter.GetBytes(a); 
        Console.WriteLine(BitConverter.ToString(abuf));
        // 输出:38-32-8F-FC-C1-C0-F3-3F
      } 
      

  2.   

    上面的问题已经解决,代码如下:using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                double a = 1.23456;
                double b = 2.34567;            byte[] abuf = BitConverter.GetBytes(a);
                byte[] bbuf = BitConverter.GetBytes(b);            for (int i = 0; i < abuf.Length; ++i)
                {
                    Console.Write("{0:X2} ", abuf[i]);
                }
                Console.WriteLine();            for (int i = 0; i < bbuf.Length; ++i)
                {
                    Console.Write("{0:X2} ", bbuf[i]);
                }            Console.Write("Press any key to over program......");
                Console.ReadKey();
            }
        }
    }
    现在来解决第二个问题,有了这八个字节怎么把它们拼成一个double类型,我想应该不难,我先来try一下
      

  3.   

    呵呵,一楼的兄弟还真是快啊,虽然我没有参考你的代码,不过,我们用的方式都是一样的,在我刚把帖子发出的那一瞬间,我想到了解决的办法,果然如此,第二个问题也解决了
    就是double aval = BitConverter.ToDouble(abuf, 0);
    Console.WriteLine(aval);OK