[問題] 從 Stream 讀取 int 或 float

看板C_Sharp (C#)作者 (小安)時間20年前 (2005/09/03 21:40), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
小弟最近在寫的程式 需要將很多的 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
BinaryReader/Writer?
140.113.91.10 09/03, 1F

59.114.198.105 09/03, , 2F
非常感謝
59.114.198.105 09/03, 2F
文章代碼(AID): #136QV5Pq (C_Sharp)
文章代碼(AID): #136QV5Pq (C_Sharp)