[英]How to convert Octal number to decimal number in arduino?
我的問題是使用 Arduino 函數將八進制數轉換為十進制數打印。
int octalNum = 33;
int decimalNumb = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("Octal Number = "+octalNum);
Serial.println("Decimal Number = "+decimalNumb);
}
使用println
參考手冊中描述的格式參數:
Serial.println(analogValue, OCT); // print as an ASCII-encoded octal
就像是:
Serial.print("Octal Number = ");
Serial.println(octalNum , OCT);
Output:
Octal Number = 41
因為十進制數33
的八進制值為41
。
相反,如果您的意思是使用八進制常量定義octalNum
,首先,請記住八進制常量是在插入標題0
時定義的:
int octalNumber = 033; // decimal 27
請注意OctalNum
是如何存儲為 integer 的,這與后面打印的方式無關。
int octalNum = 33;
int decimalNumb = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("Octal Number = "+octalNum);
Serial.println("Decimal Number = "+octalToDecimal(decimalNumb));
}
static int octalToDecimal(int n)
{
int num = n;
int dec_value = 0;
int base = 1;
int temp = num;
while (temp > 0) {
int last_digit = temp % 10;
temp = temp / 10;
dec_value += last_digit * base;
base = base * 8;
}
return dec_value;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.