⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 try7.c

📁 用c写的 十进制到十六进制转换用到的相关函数
💻 C
字号:

#include<stdio.h>

char str2IntHex(char InStr[]);
int str2Int(char InStr[]);

void main()
{
   char str[4];
   char result = '\0';
   int i = 0;

   for(i=0; i<4; i++)
      str[i] = '\0';

   scanf("%s",str);
   getchar();

   result = str2IntHex(str);
   printf("result == %c",result);

   getch();
   return;
}

char str2IntHex(char InStr[])
{
   int data = 0;
   char result = '\0';

   data = str2Int(InStr);

   switch(data)
   {
      case 0: result = '0';break;
      case 1: result = '1';break;
      case 2: result = '2';break;
      case 3: result = '3';break;
      case 4: result = '4';break;
      case 5: result = '5';break;
      case 6: result = '6';break;
      case 7: result = '7';break;
      case 8: result = '8';break;
      case 9: result = '9';break;
      case 10: result = 'A';break;
      case 11: result = 'B';break;
      case 12: result = 'C';break;
      case 13: result = 'D';break;
      case 14: result = 'E';break;
      case 15: result = 'F';break;
      default: printf("The number is mismatch!\n\r");
   }
   return result;
}


int str2Int(char InStr[])
{
   int i=0,j=0,now=0;
   int length=0;
   int result=0;

   for(length=0;InStr[length]!='\0';length++);  /*计算InStr[]的长度*/

   if(length==0)
   {
      printf("The array is empty!\n\r");
      return(0);
   }

   for(i=0;i<length;i++)                        /*将InStr[]转换成数字*/
   {
      now=InStr[i]-48;
      for(j=0;j<length-i-1;j++)
         now*=10;                               /*后面加上几个0,把该数字放到正确位上*/
      result+=now;                              /*加给number*/
   }

   printf("str2Int == %d\n\r",result);

   return(result);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -