diff options
Diffstat (limited to '2.3-1/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c')
-rw-r--r-- | 2.3-1/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/2.3-1/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c b/2.3-1/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c new file mode 100644 index 00000000..dae7bdcc --- /dev/null +++ b/2.3-1/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c @@ -0,0 +1,71 @@ +/* Copyright (C) 2017 - IIT Bombay - FOSSEE + + This file must be used under the terms of the CeCILL. + This source file is licensed as described in the file COPYING, which + you should have received as part of this distribution. The terms + are also available at + http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt + Organization: FOSSEE, IIT Bombay + Author: Shamik Guha + Email: toolbox@scilab.in +*/ +#include <string.h> +#include <math.h> +#include "dec2base.h" +#include <stdio.h> + +void ddec2bases(double in,int base,int n,char* out) +{ + int quot; + //printf("%d\n",n); + int i=0,j=0,k=0,tmp,temp; + quot=(int)in; + //printf("%d",quot); + while(quot!=0) + { + temp=quot%base; + //printf("%d\n",temp); + if(temp < 10) + { temp = temp + 48; + //printf("%d\n",temp); + } + else + { + temp = temp + 55; + //printf("%d\n",temp); + } + out[i++]=temp; + //printf("%c\n",out[i-1]); + quot = quot/base; + } +//printf("%d\n",i); + if(n>i-1) + { + for(j=i;j<=n;j++) + { out[j]='0'; + //printf(" %c %c \n",out[j],out[i]); + } + } + if(n==0) + { + j=i-1; + n=i; + } + else + j=n-1; + + out[n]='\0'; + //for(k=0;k<=n;k++) + //printf("%c\n",out[k]); + i=0; + while(i<j) + { + tmp=out[i]; + //printf("%c\n",out[i]); + out[i]=out[j]; + out[j]=tmp; + //printf("%c\n",out[j]); + i++; + j--; + } +} |