本帖最后由 pizg 于 2012-12-19 00:40 编辑
jack4904 发表于 2012-12-15 21:51
pow的return是float, 但是B是int
把int B;改成float B;就好了
測試過沒問題
感謝您的回覆.
您可否把測試通過的代碼貼上來,
因為我試了很久還是不會修改,
感謝.
我後來自己寫了一個 pow function 問題就解決了,
為了報答您, 我把代碼貼上與您分享:
int B[]={1,1,1,0,0,0,0,0,0,0};
int myPow(int a, int b) {
int c;
for(int i=0; i<=b;i++) {
if (i == 0)
c = 1;
else if (i == 1)
c = a;
else
c *= a;
}
return c;
}
void setup() {
Serial.begin(9600);
int n = sizeof(B) / 2;
int BT = 0;
for(int i=0;i < n; i++) {
BT = BT + B * myPow(2, i);
}
Serial.println(BT);
}
void loop() { }
|