File tree 1 file changed +45
-0
lines changed
1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change
1
+ // Convert base10(decimal) values to base2(binary)
2
+
3
+ #include <stdio.h>
4
+
5
+ void PrintBits (int power , int num ){
6
+ // firstOne is a flag that stops "0" being printed before a "1" is printed
7
+ int firstOne = 0 ;
8
+
9
+ // Conversion loop
10
+ while (power > 0 ) {
11
+ if (num >= power ) {
12
+ firstOne = 1 ;
13
+ printf ("1" );
14
+ num %= power ;
15
+ } else if (firstOne == 1 ) {
16
+ printf ("0" );
17
+ }
18
+ power /= 2 ;
19
+ }
20
+ printf ("\n" );
21
+ }
22
+
23
+ int main () {
24
+
25
+ int num = 0 ;
26
+ int power = 1 ;
27
+
28
+ // Getting input
29
+ printf ("Please enter a numeric value: " );
30
+ scanf ("%d" , & num );
31
+ printf ("%d represented in binary is: " , num );
32
+
33
+ // Determine highest order of magnitude needed for the base2 conversion
34
+ while (power < num ) {
35
+ power *= 2 ;
36
+ }
37
+
38
+ // Edge case in event of 0 being entered
39
+ if (num == 0 ) {
40
+ printf ("0\n" );
41
+ } else {
42
+ PrintBits (power , num );
43
+ }
44
+ return (0 );
45
+ }
You can’t perform that action at this time.
0 commit comments