本帖最後由 pizg 於 2013-4-30 00:07 編輯
感謝 coopermaa 和 vegewell 兩位老師.vegewell 這次改對了,
13/10*16 - 13%10 真的會等於 13
這個式子好神奇唷!!
不過若代入大於16的數就會出錯,
例如代入25,
25/10*16 - 25%10 = 28,
哈~~這是哪門子的BinToDec?
另一個DecToBin也是錯的.
底下式子可作個比較:
- byte DecToBin(byte val)
- {
- return ( (val/10*16) - (val%10) );
- }
- byte BinToDec(byte val)
- {
- return ( (val/2*10) + (val%2) );
- }
- void setup() {
- Serial.begin(9600);
- // 這是錯的
- byte i = DecToBin(25);
- Serial.println(i, BIN);
- i = BinToDec(B11101);
- Serial.println(i);
- // 這是對的
- String j = String(25, BIN);
- Serial.println(j);
- j = String(B11001, DEC);
- Serial.println(j);
- }
- void loop() {}
複製代碼 |