arduino十进制转十六进制

admin 2022-8-1 305

以下是arduino十进制转十六进制的方法,如果有什么可以改进的地方请留言

Serial.print(inByte, HEX);


十进制转十六进制

//十进制转十六进制
String tohex(int n) {
  if (n == 0) {
    return "00"; //n为0
  }
  String result = "";
  char _16[] = {
    '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
  };
  const int radix = 16;
  while (n) {
    int i = n % radix;          // 余数
    result = _16[i] + result;   // 将余数对应的十六进制数字加入结果
    n /= radix;                 // 除以16获得商,最为下一轮的被除数
  }
  if (result.length() < 2) {
    result = '0' + result; //不足两位补零
  }
  return result;
}
uint8_t toBCD(uint8_t val) {  // expects a value 0 .. 99 
  return (val%10 & 0x0F) | (val/10 << 4); // returns 0x00 .. 0x99
}
欢迎联系本站长QQ:3216572
最新回复 (0)
返回