有沒有辦法到一個數組轉換爲整數,我有如下方法,但它似乎不工作:轉換數組到一個整數
int8_t x_array[18] = {0,1,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,1};
int32_t numb;
for (int8_t j=0;j<19;j++)
{
numb = numb + pow(2, i)*x_array[i];
}
是否有一個原因?
PS:這是從以前的問題,我已經貼 Joining outputs from switches 我已經編輯了問題,說爲什麼建議的方法是不工作的後續問題。
實際上我想要做的是在模擬器軟件RAPIDILITTE中創建一個程序,以每毫秒爲18位數字輸入採樣一個PS輸入(接近傳感器系統)。輸入由位於端口2上的切換開關0-17(18位)表示。輸入需要在0-9999之間標準化)
主要問題是(我在前面提到過發佈問題)我一次只能訪問一個引腳,而不是一次讀取整個端口。我已經嘗試了很多方法來讀取引腳並將它們合併爲一個變量,將其轉換爲自然數,然後對輸入進行歸一化。最後,我相信最好的方法是將每個引腳讀入array[18]
,然後將其轉換爲變量,然後對其進行歸一化。
順便說一下,它應該是'j <18'而不是'j <19'。 – Naveen
在這個問題中的幾個問題:'''*不*'聲明,'for'循環迭代超出數組極限[應該是'j <18']。正確和轉貼... – Curious
是的,我看到這個問題真的很抱歉,因爲你可以看到我發佈這個問題,像6am我是大部分的夜晚試圖找出它 – user1175889