Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///***************Floating Binary to Floating Decimal Conversion***************///
- #include<stdio.h>
- #include<string.h>
- #include<math.h>
- int main()
- {
- char number[100];
- puts("---------------------------------");
- printf("Enter a binary number: ");
- while(scanf("%s", &number))
- {
- int i, j=0, len, loopLimit, decimalPointIndex=-1, beforeDecimalPoint=0;
- double decimalNumber, afterDecimalPoint=0.00;
- len=strlen(number);
- for(i=0; i<len; i++)
- {
- if(number[i]=='.')
- {
- decimalPointIndex=i;
- break;
- }
- }
- if(decimalPointIndex==-1)
- {
- loopLimit=len;
- }
- else
- {
- loopLimit=decimalPointIndex;
- }
- for(i=loopLimit-1; i>=0; i--)
- {
- if(number[i]=='1')
- {
- beforeDecimalPoint+=(pow(2,j));
- }
- ++j;
- }
- if(decimalPointIndex!=-1)
- {
- j=-1;
- for(i=loopLimit+1; i<len; i++)
- {
- if(number[i]=='1')
- {
- afterDecimalPoint+=(pow(2.00,(j*1.0)));
- }
- --j;
- }
- }
- decimalNumber=beforeDecimalPoint+afterDecimalPoint;
- printf("%s , in decimal: %lf\n\n", number, decimalNumber);
- puts("---------------------------------");
- printf("Enter a binary number: ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement