21xrx.com
2025-03-29 13:44:59 Saturday
文章检索 我的文章 写文章
C语言实现10进制转16进制
2023-06-17 12:00:42 深夜i     21     0
C语言 10进制转16进制 sprintf 位运算

C语言作为一种底层语言,常常需要进行数据类型转换,其中10进制转16进制是常见的一种转换。本文将介绍如何使用C语言实现10进制转16进制。

1. 使用sprintf函数实现10进制转16进制

sprintf函数是C语言中常用的字符格式化输出函数,在使用时可以将10进制数转换成16进制数。代码示例:

#include 
int main() {
  int num = 255;
  char str[100];
  sprintf(str, "%x", num);
  printf("十进制数 %d 转换为十六进制数 %s", num, str);
  return 0;
}

在上述示例中,通过sprintf函数将变量num的值转换成16进制,存储在字符串数组str中,然后通过printf函数输出结果。

2. 使用位运算实现10进制转16进制

使用位运算也可以实现10进制转16进制的功能。代码示例:

#include
void decToHex(int n){
  int quotient, remainder;
  char hex[17];
  quotient = n;
  int i=0;
  while(quotient!=0){
    remainder = quotient % 16;
    if(remainder < 10)
      hex[i++] = 48 + remainder;
    else
      hex[i++] = 55 + remainder;
    quotient /= 16;
  }
  for(int j=i-1; j>=0;j--)
    printf("%c", hex[j]);
}
int main(){
  int num = 255;
  printf("十进制数 %d 转换为十六进制数:",num);
  decToHex(num);
  return 0;
}

在上述示例中,通过位运算将10进制数转换成16进制,最终输出16进制数。

  
  

评论区

请求出错了