C arbitrary binary conversion

From , 5 Years ago, written in C, viewed 134 times.
URL https://pastebin.vip/view/54ff9e9e
  1. /*语法:conversion(char s1[],char s2[],long d1,long d2);
  2.  *参数:
  3.  *s[]:        原进制数字,用字符串表示
  4.  *s2[]:       转换结果,用字符串表示
  5.  *d1: 原进制数
  6.  *d2: 需要转换到的进制数
  7.  *返回值:  null
  8.  *注意:高于9的位数用大写'A'~'Z'表示,2~16位进制通过验证
  9.  */
  10.  
  11. void conversion ( char s[],char s2[],long d1,long d2 )
  12. {
  13.         long i,j,t,num;
  14.         char c;
  15.         num=0;
  16.         for ( i=0; s[i]!='\0'; i++ )
  17.         {
  18.                 if ( s[i]<='9'&&s[i]>='0' ) t=s[i]-'0';
  19.                 else t=s[i]-'A'+10;
  20.                 num=num*d1+t;
  21.         }
  22.         i=0;
  23.         while ( 1 )
  24.         {
  25.                 t=num%d2;
  26.                 if ( t<=9 ) s2[i]=t+'0';
  27.                 else s2[i]=t+'A'-10;
  28.                 num/=d2;
  29.                 if ( num==0 ) break;
  30.                 i++;
  31.         }
  32.         for ( j=0; j<i/2; j++ )
  33.                 {c=s2[j]; s2[j]=s[i-j]; s2[i-j]=c;}
  34.         s2[i+1]='\0';
  35. }
  36.  

Reply to "C arbitrary binary conversion"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website