Example 1: binary to decimal
double binaryToDecimal(char binary[DIM]) { char binary2[DIM] = "", floa[DIM] = ""; double decimal = 0, negDec = 0, flo = 0; int count = 0, j = 0, i = 0, f = 0, g = 0, h = 0, count1 = 0, d = 0, k = 0; while (binary[d] != '\0'&&binary[d] != '.') { d++; } d--; if (binary[0] == '-') { while (binary[k] != '\0') { binary[k] = binary[k + 1]; k++; } k = 0; while (binary[k] == '0') { d--; k++; } negDec = pot(2.000, d*1.000, 1); } while (binary[i] != '\0'&&binary[i] != '.') { i++; } i--; count = i; h = i; while (binary[h] != '\0') { floa[g] = binary[h + 2]; g++; h++; } g--; count1 = g; while (i >= 0) { binary2[j] = binary[i]; i--; j++; } binary2[j] = '\0'; while (i <= count) { if (binary2[i] == '1') { decimal = decimal + pot(2.000, i, 1); } i++; } h = -1; g = 0; while (g <= count1) { if (floa[g] == '1') { flo = flo + pot(2.000, h, 1); } g++; h--; } decimal = decimal + flo; if (negDec > 0) { decimal = (decimal - negDec); if (flo > 0) { double f = fl(decimal); f = 1 - f; decimal = returnDeciPart(decimal) - f; } } return decimal; }
Example 2: binary to decimal
= (11001010)2 = 1x27+1x26+0x25+0x24+1x23+0x22+1x21+0x20 = 128+64+0+0+8+0+2+0 = (202)10
Comments
Post a Comment