Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 5930|回復: 4
打印 上一主題 下一主題

數值的進制轉換問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-4-19 17:22:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 pizg 於 2013-4-19 19:39 編輯

我們可以用Serial.print將值以各種進制格式印出來, 如下

int value = 65;
// 以各種格式列印 65
Serial.println(value);       // 印出 2 個 ASCII 字元 "65"
Serial.println(value, DEC);  // 同上
Serial.println(value, HEX);  // 印出 "41" 兩個 ASCII 字元
Serial.println(value, BIN);  // 印出 "01000001" 八個 ASCII 字元
Serial.println(value, BYTE); // 把 65 當成一個 byte 印出

那麼要如何做才能把值以各種進制格式丟給變數?
2#
發表於 2013-4-19 20:43:03 | 只看該作者
回復 1# pizg

  1. int value = 65;
  2. String stringOne =  String(value, HEX);   
  3. Serial.println(stringOne);  
複製代碼
3#
 樓主| 發表於 2013-4-20 01:03:10 | 只看該作者
本帖最後由 pizg 於 2013-4-21 16:59 編輯

感謝babyfish0226老師的解答.

那麼如果不是 int value = 65;
換作是
char value[] = {'6' , '5'};

String value = "65";
呢?
4#
發表於 2013-4-23 23:23:18 | 只看該作者
char value[] = {'6' , '5'};和String value = "65"; 基本上是兩個char,應該拆開分別轉換。
  1. char value[] = {'6' , '5'};
  2. int newValue=value[0];
  3. String stringOne =  String(newValue, HEX);   
  4. Serial.println(stringOne);
複製代碼
5#
 樓主| 發表於 2013-4-24 00:39:39 | 只看該作者
感謝babyfish0226老師的講解.

char value[] = {'6' , '5'}; 等同於
char value[] = "65";
我會先把char[]或String的格式轉成int,
也就是 65
然後再轉成各進制.
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 15:41 , Processed in 0.145097 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表