[問題] 從 Stream 讀取 int 或 float
小弟最近在寫的程式
需要將很多的 float 資料讀進程式
為了減少存放 float 檔案的大小
我希望能夠直接把 float 的四個 byte 直接寫出串流,或著從串流中讀進
請問有沒有什麼現成的函式能更使用呢
除了 float 以外,也需要適用於 int 的方法
謝謝大家 m(_ _)m
---
目前在用的方法:
轉成byte:
float a=123.456;
byte[] b=new byte[4];
unsafe{
float *p=&a;
b[0]=*(((byte*)p)+0);
b[1]=*(((byte*)p)+1);
b[2]=*(((byte*)p)+2);
b[3]=*(((byte*)p)+3);
}
轉成float:
int c=b[3];
c=c<<8;
c=c|b[2];
c=c<<8;
c=c|b[1];
c=c<<8;
c=c|b[0];
unsafe{
float d=*(float*)(&c);
System.Console.WriteLine(d);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.114.198.105
推
140.113.91.10 09/03, , 1F
140.113.91.10 09/03, 1F
推
59.114.198.105 09/03, , 2F
59.114.198.105 09/03, 2F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章