查看double字节信息

emyueguang 2009-09-23 07:09:08
如题,
double a = 1.23456;
byte[] abuf = new byte[8];

double点8个字节,也就是说1.23456放在8个字节里面,我想让它显示每个字节里的信息是什么,我之前想把a这个变量放到abuf这个数组里面,一个字节放入一个数组元素里面,然后显示它,可是我不知道怎么放

别说它在内存里面是以二进制的方式存放,这一点我知道,我现在就是想知道,这8个字节里面的二进制数据是什么,怎么以十六进制的方式把这八个字节里面的信息显示出来,谢谢~~~
...全文
384 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
emyueguang 2009-09-23
  • 打赏
  • 举报
回复
呵呵,一楼的兄弟还真是快啊,虽然我没有参考你的代码,不过,我们用的方式都是一样的,在我刚把帖子发出的那一瞬间,我想到了解决的办法,果然如此,第二个问题也解决了
就是

double aval = BitConverter.ToDouble(abuf, 0);
Console.WriteLine(aval);

OK
xray2005 2009-09-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyi8808 的回复:]
C# codeusing System;class Program
{staticvoid Main()
{double a=1.23456;byte[] abuf= BitConverter.GetBytes(a);
Console.WriteLine(BitConverter.ToString(abuf));// 输出:38-32-8F-FC-C1-C0-F3-3F }
¡­


[/Quote]
emyueguang 2009-09-23
  • 打赏
  • 举报
回复
上面的问题已经解决,代码如下:

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一下
wuyi8808 2009-09-23
  • 打赏
  • 举报
回复
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
}
}

110,531

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧