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

📄 bin2point.c

📁 cordic implementation in vhdl&c
💻 C
字号:
//////////////////////////////////////////////////////////////////////////////////                        Coypright (C) Aviral Mittal.//////////////////////////////////////////////////////////////////////////////////   All rights reserved. Reproducion in whole or in part is prohibited without //   written consent of copyright Owner.The professional use of this material //   is subject to the copy right owners approval in written. //////////////////////////////////////////////////////////////////////////////////                   Comments welcome on avimit@yahoo.com//                   Visit http://www.vlsiip.com for more free stuff////////////////////////////////////////////////////////////////////////////////// This program converts a binary number into fractional number// The input given to this program will be a binary number like 11100101// Output will be 0.23456// Example: ./bin2point 10101010// Above is an example, where the user is trying to convert 0.45823 into binary// ./bin2point 10101010//  0.664062////////////////////////////////////////////////////////////////////////////////#include <stdio.h>//Prototype Declarationlong int  po(short int x,short int y);//Prototype Declaration Ends//Variables Declarationchar error = 0; //Error Flagfloat frac_out ;float poof2;char i;//Variables Declaration Endsint main(int argc, char* argv[]) {//Initializations  frac_out = 0.0;  poof2 = 0;  i = 1;//Initializations Ends  if(argc == 2) {    error = 0;////////////////////////////////////////////////////////////////////////////////// Main Program Here////////////////////////////////////////////////////////////////////////////////    frac_out = 0.0;    while(*argv[1] != '\0') {        if(*argv[1]-48 == 0 || *argv[1]-48 == 1) {        //printf("Input char is %d\n",*argv[1]-48);        poof2 = (float) 1/po(2,i);        frac_out = frac_out + poof2 * (*argv[1]-48);        //printf("poof2 = %f\n",poof2);        *argv[1]++;        i++;      }//if(*argv[1]-48 == 0 || *argv[1]-48 == 1)      else {        *argv[1] = '\0';        printf("\n");        printf("***********************************************************\n");        printf("This Program Converts a binary Number into a fractional part\n");        printf("Error: Incorrect Inputs\n");        printf("Inputs can only be binary Digits i.e 0 or 1\n");        printf("Example Usage:\n");        printf("unix> ./a.out 10101010\n");        printf("0.664062\n");        printf("***********************************************************\n");        printf("\n");        error = 1;      }    }//while(*argv[1] != '\0')    if(error == 0) {      printf("%f\n",frac_out);    }//if(error == 0)////////////////////////////////////////////////////////////////////////////////  }//if(argc == 2)  else {    error = 1;    printf("\n");    printf("***********************************************************\n");    printf("This Program Converts a binary Number into a fractional part\n");    printf("Error: Incorrect Inputs\n");    printf("Example Usage:\n");    printf("unix> ./a.out 10101010\n");    printf("0.664062\n");    printf("***********************************************************\n");    printf("\n");  } //else of if(argc == 2)  //printf("error = %d\n",error);} //main//Functions Declaration Sectionlong int  po(short int x,short int y){  //to Calculate 10^4, po(10,4);  int j;  long int ret=1;  for(j=0;j<y;j++) {    ret = ret*x;  }  return(ret);}//Function Declaration Ends

⌨️ 快捷键说明

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