想请问
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