想請問
C# 要如何達到自訂數據長度
主要是用來做bit位移
內建最多就long 64bit
需要資料長度120bit
感覺struct或是用 array 兜出來
但抓不到想法要如何兜
作者:
s4300026 (s4300026)
2020-03-03 20:45:00unsafe (誤)
作者:
Litfal (Litfal)
2020-03-04 14:15:00你這需求其實蠻稀有的,圖像處理通常直升16bits,32bits甚至double,處理完後再依輸出10bits做round/truncate,甚至dithering
作者:
ssccg (23)
2020-03-05 10:06:00不懂為什麼這樣要120bit,只是24轉32不是嗎?30,感覺32bits夠用
作者:
Litfal (Litfal)
2020-03-05 14:03:00他是要做solid而不是常用的每一點3*10bit int32int32裡面多的2bits還要給下一點用純資料處理我是會用bytes陣列和unsafe啦,用bigint還得遵守它的規則(little endian,正負號等)
作者:
ssccg (23)
2020-03-06 14:20:00我的意思就是其實也可自己取byte[n] ~ byte[n+3]丟進int32轉完後再把int32拆開丟進byte[m](x) ~ byte[m+3或4](y)只要記好offset就好,不一定要到120bit為單位做吧
作者:
Litfal (Litfal)
2020-03-06 14:57:00是阿,如果做成資料流,以色素為單位,一個int16做buffer就可以處理了。但也能理解原po想用4個像素一起處理,輸出4個30bits像素為一組,因為剛好是15bytes。
作者:
neo5277 (I am an agent of chaos)
2020-03-07 02:30:00好像很有趣
作者: nicetw20xx (哇愛台灣) 2020-05-10 00:35:00
我會在C用bit field,x86電腦pg最小單位好像都byte