有什么好办法可以将C#的数据类型进行二进制级别的转换?

lihanbing 2011-05-15 11:59:58
效果如下, 比较麻烦的方法, 有没有更简单直接的方法?

static void Main(string[] args)
{
Byte[] buff = new byte[8];
MemoryStream ms = new MemoryStream(buff);
BinaryReader br = new BinaryReader(ms);
BinaryWriter bw = new BinaryWriter(ms);
long l;
double d;
d = 1235.3424;
bw.Write(d);
ms.Seek(0, SeekOrigin.Begin);
l = br.ReadInt64();
Console.WriteLine("(double){0} binary convert to long is (long){1}", d,l);
Console.Read();
}

输出
(double)1235.3424 binary convert to long is (long)4653147908778690714
...全文
106 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhibin11 2011-05-15
  • 打赏
  • 举报
回复

double d = 1235.3424;
long c = Marshal.ReadInt64(d, 0);
我姓区不姓区 2011-05-15
  • 打赏
  • 举报
回复
long l = BitConverter.ToInt64(buff, 0);
lizhibin11 2011-05-15
  • 打赏
  • 举报
回复

double d = 1235.3424;
long c = *(long*)&d;
lizhibin11 2011-05-15
  • 打赏
  • 举报
回复

double d = 1235.3424;
long c = BitConverter.ToInt64(BitConverter.GetBytes(d), 0);

111,097

社区成员

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

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

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