diff --git a/practical102/Conversion.c b/practical102/Conversion.c new file mode 100644 index 0000000..b428880 --- /dev/null +++ b/practical102/Conversion.c @@ -0,0 +1,38 @@ +#include +#include + +int main(void) { + +/* Declare variables */ + int i,inum,tmp,numdigits; + float fnum; + char binnum[60]; + +/* Intialise 4-byte integer */ + inum = 33554431; +/* Convert to 4-byte float */ + fnum = (float) inum; + + +/* Convert to binary number (string)*/ + i = 0; tmp = inum; + while (tmp > 0) { + sprintf(&binnum[i],"%1d",tmp%2); + tmp = tmp/2; + i++; + } + +/* Terminate the string */ + binnum[i] = '\0'; + + +/* Complete the expression */ + numdigits = ceil(logf(inum)/logf(2)); /* this will tell us how digits "inum" has*/ + printf("The number of digits is %d\n",numdigits); /* \n for line break, %d for integers */ + + + + printf("inum=%d, fnum=%f, inum in binary=%s\n", + inum,fnum,binnum); + return 0; /* return 0 is needed to prevent void error in code*/ +} diff --git a/practical102/Readme.txt b/practical102/Readme.txt new file mode 100644 index 0000000..8b63cd7 --- /dev/null +++ b/practical102/Readme.txt @@ -0,0 +1,17 @@ +README + +Folder contains two sources codes, Conversion.c and Sum.c + +Conversion.c is compiled using gcc, and the output is called "conv". + +-lm links the Math libary +-Wall shows any warnings + +"numdigits" is an unused variable + +There is no return at the of the Conversion.c code. + +Execute Conversion.c using the function ./conv + + +Compile and run Sum.c using the command gcc \ No newline at end of file diff --git a/practical102/Sum.c b/practical102/Sum.c new file mode 100644 index 0000000..a6da925 --- /dev/null +++ b/practical102/Sum.c @@ -0,0 +1,36 @@ +#include + + +int main(void) { +/* Declare variables */ + int i; + float sum1, sum2, diff; + + +/* First sum */ + sum1 = 0.0; + for (i=1; i<=1000; i++) { /* Start i at 1 and increse by i value */ + sum1 += 1./i; + // sum1 = sum1 + 1./i + + + } + + +/* Second sum */ + sum2 = 0.0; + for (i=1000; i>0; i--) { /* start i at 1000 and then decrease i */ + sum2 += 1./i; + } + + printf(" Sum1=%f\n",sum1); + printf(" Sum2=%f\n",sum2); + +/* Find the difference */ + diff = sum1 - sum2; //calculate the difference between sum1 and sum2 + + printf(" Difference between the two is %f\n",diff); + + return 0; // return 0 is needed + +}