看板 Soft_Job 關於我們 聯絡資訊
※ 引述《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 那轉回來的物理值是多少? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.132.163 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1415218599.A.C3E.html ※ 編輯: KILLE (111.240.132.163), 11/06/2014 04:20:38
jackylu63: 26工程師其實沒說錯 11/06 14:55
TSW: 看不太懂為什麼要將64000轉存為65536,直接存64000有比較麻煩 11/06 18:05
TSW: 嗎? 11/06 18:05
MisterSmile: 59748? 11/10 02:21