如果這是初學者的問題,請事先道歉;我是C編程新手。將二進制轉換爲整數
我正在研究一個嵌入式設計項目,該項目需要我的ATmega128從傳感器讀取4個字節的數據。數據包含我需要處理的兩個14位測量值。有一部分我不完全確定,因爲我還沒有做過很多C編程。我的算法如下:
1)接收4個字節數據從傳感器(MS 2個比特和LS 2位被扔) 2)除的每個字節進4個無符號字符變量 3)屏蔽掉MS 2來自MS字節的位,對於來自LS字節的LS 2位是相同的 4)MS 2字節=第一測量,LS 2字節=第二測量
這部分我可以做到目前爲止。我不確定C是如何將二進制轉換爲十進制的。我需要將兩個14位測量值轉換爲無符號整型,以便於執行計算。是否有自動執行此操作的指令?或者如果我使用整數運算,編譯器會自動將它變成一個int嗎?或者可能沒有這些,我必須編寫自己的函數來轉換它?
「... C如何將二進制轉換爲十進制」 - 沒有將二進制轉換爲十進制。它們只是數字基礎,電腦使用二進制。數學運算按照你所期望的那樣工作(四/二是兩個,不管你用什麼基數表示它們)。你真正關心的是你如何轉換到一個N字節有符號/無符號整數,以及數據首先被排序。 –
你不需要這樣的彙編器。發佈您的4個字節的讀取方式,並且有人可以提供掩碼,移位,轉換的缺失邏輯。 –
你能解釋一下小數點位於什麼位置嗎 –