21xrx.com
2024-11-05 19:44:28 Tuesday
登录
文章检索 我的文章 写文章
C语言实现10进制转16进制
2023-06-17 12:00:42 深夜i     --     --
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进制数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复