summaryrefslogtreecommitdiff
path: root/2.3-1/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c
diff options
context:
space:
mode:
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.c71
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--;
+ }
+}