Re: [討論] 有誰懂這位對岸RD在說什麼 ?

作者: KILLE (啃)   2014-11-06 04:16:36
※ 引述《azureshin (azureshin)》之銘言:
: 是這樣....我們買了一個亮度偵測儀器,是透過藍牙接收的.
: 得到的是16進制8e000000
: 我問對方這要怎麼轉換成流明 ? 對方是這樣回的..
: 『需要将第二个字节的数据先左移8位再加上第一个字节的数据,再乘以 64000/65536』
: 『二进制的左移』
: 『现在是两个8位的数据,要变成一个16位的数据』
: 『第二个字节是高位』
: ..........就這樣,四句話打完他就不回我了...
: 我知道進制轉換,但我就是看不懂他們在說什麼,有誰懂得??
看來這是大端傳輸
藍牙是大端 極奇正常 (網路就是走大端)
目前就本人知 藍牙只有在低功耗標準時才採用小端傳輸
先看到0x8e000000 轉為小端 0x008e
(明顯也合理 轉換前的低位是根本沒數據)
現在看 他要的操作:
所以要的結果就是 0x8e*64000/65536 = 142*0.9766 = 138.67
在這補充一下 為何要64000/65536
因為若一KB是1024 那64KB就是65536
但若一KB是1000 那64KB只是 64000 (硬碟廠玩暴這招)
這概念可以這樣想:
這裡 光學儀的物理最大值很可能是64000
轉為數碼時 用256*256去存 比較方便 所以就把65536化約為64000
現在類似題:
若量到的是0xfeee0000 那轉回來的物理值是多少?
作者: jackylu63 (J)   2014-11-06 14:55:00
26工程師其實沒說錯
作者: TSW (翹班帝國)   2014-11-06 18:05:00
看不太懂為什麼要將64000轉存為65536,直接存64000有比較麻煩嗎?
作者: MisterSmile (Mr.Smile)   2014-11-10 02:21:00
59748?

Links booklink

Contact Us: admin [ a t ] ucptt.com