Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Using a loop to convert hex to binary?

$
0
0
So this code changes hexadecimal to binary digits. A specific hexadecimal number I should add. It is not built for all.

#include <stdio.h>
#include <conio.h>
#include <math.h>

int main()
{
	int decimal, y, z, x, w, dec, dec1, dec2, a, b, c, d, e, v, u, t, s, r, q, p, o, dec3, dec4, dec5, dec6, dec7, dec8, dec9, dec10;
	printf("The Hexadecimal number is: 0xCCCDB\n");
	a = 12 * pow(16.0, 4); //C \ 
	b = 12 * pow(16.0, 3); //C - Hex value of 'C' is 12, so we take 12 times 16^(position of C in the hex code)
	c = 12 * pow(16.0, 2); //C /
	d = 13 * pow(16.0, 1); //D - Hex value of 'D' is 13, so we take 13 times 16^(position of D in hex code)
	e = 11 * pow(16.0, 0); //B - Hex value of 'B' is 11, so we take 11 times 16^(position of B in hex code)

	decimal = a + b + c + d + e;
	printf("Decimal = %d\n", decimal);
		//Calculates 4 bit binary digit for the hexadecimal digit 'B'
		z = decimal % 2;
		dec = decimal / 2;
		y = dec % 2;
		dec1 = dec / 2;
		x = dec1 % 2;
		dec2 = dec1 / 2;
		w = dec2 % 2;
		dec3 = dec2 / 2;
		//Calculates 4 bit binary digit for the hexadecimal digit 'D'
		v = dec3 % 2;
		dec4 = dec3 / 2;
		u = dec4 % 2;
		dec5 = dec4 / 2;
		t = dec5 % 2;
		dec6 = dec5 / 2;
		s = dec6 % 2;
		dec7 = dec6 / 2;
		//Calculates 4 bit binary digit for the hexadecimal digit 'C'
		r = dec7 % 2;
		dec8 = dec7 / 2;
		q = dec8 % 2;
		dec9 = dec8 / 2;
		p = dec9 % 2;
		dec10 = dec9 / 2;
		o = dec10 % 2;
		printf("%d%d%d%d %d%d%d%d %d%d%d%d %d%d%d%d %d%d%d%d", o, p, q, r, o, p, q, r, o, p, q, r, s, t, u, v, w, x, y, z); //Order variables backwards to print correct order of binary number.

	getch();
	return 0;
}


I mean, this does exactly what I want... But I was just wondering if there is a simpler way to do this with a loop? I tried a for() and a while() loop but just failed at it. They turned into infinity loops and I couldn't break them hahaha so I went with plan B above.

Just wondering for future reference.

Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>