linux c类型 进制 转换库函数

基本满足开发需求了


#include <stdint.h>
int main_INT()
{
  // 类型转换

  // 字符串 转 浮点数
  double a = 0.0;
  char douChs[] = "125.45";
  a=atof(douChs);
  cout<<a<<endl;

  int b = 0;
  // 字符串 转 整数
  // atol 长整形
  b=atoi(douChs);
  cout<<b<<endl;

  // 浮点数 转 字符串
  // 四舍五入
  char ptr[10];
  double c = 123.45;
  gcvt(c, 5, ptr);
  cout << ptr << endl;

  // 二,十,十六进制字符串 转 整数
  char order[] = "A9172E0000003F9A";
  uint8_t uorders[16];
  cout << strlen(order) << endl;
  str2uint8s(uorders, order, strlen(order));
  cout << "\n";
  for (size_t i = 0; i < strlen(order) / 2; i++)
  {
    printf("%02X ", uorders[i]);
  }
  cout << endl;

  char d[] = " ffee ";
  // cout << strtol(d, NULL, 16) << endl;
  // // 二,十,十六进制字符串 转 无符号整数
  // cout << strtoul(d, NULL, 16);
  uint16_t e = strtoul(d, NULL, 16);

  printf("%04x \n", e);
  cout << e << endl;
  uorders[0] = e >> 8;

  uorders[1] = e;
  for (size_t i = 0; i < strlen(order) / 2; i++)
  {
    printf("%02X ", uorders[i]);
  }
  cout << endl;

  // 整数型 转 ASCII 码字符
  cout<<(char)toascii(65);

  // 将大写转成小写
  uint8_t c = 23;
  printf("%02x", c);
}

发布了148 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44580977/article/details/103784974