티스토리 뷰
// C/C++
// [VC] suppress error messages about obsolete & deprecated functions
#pragma warning(disable : 4996)
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS_GLOBALS
#include <cstdio>
#include <cstdlib>
#define LENGTH 11
int main(int argc, char **argv)
{
char buffer[LENGTH];
int number = 0;
do {
fgets(buffer, LENGTH, stdin);
number = atoi(buffer);
} while (number < 0);
printf("%12s %d\n", "Integer", number);
printf("%12s %X\n", "Hexadecimal", number);
printf("%12s ", "Binary");
unsigned int mask = 0;
// this grotesque hack creates a bit pattern 1000...
// regardless of the size of an unsigned int
mask = ~mask ^ (~mask >> 1);
// print out all bits of n
while (mask != 0)
{
// !!x is 0 if x is 0 and 1 if x is anything else
printf("%d", !!(number & mask));
mask = mask >> 1;
}
putchar('\n');
return EXIT_SUCCESS;
}
// C/C++
// [VC] suppress error messages about obsolete & deprecated functions
#pragma warning(disable : 4996)
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS_GLOBALS
#include <iostream>
#include <string>
#define LENGTH 11
using namespace std;
int main(int argc, char **argv)
{
char buffer[LENGTH];
int number = 0;
do {
fgets(buffer, LENGTH, stdin);
number = atoi(buffer);
} while (number < 0);
printf("%12s %d\n", "Integer", number);
printf("%12s %X\n", "Hexadecimal", number);
string binary = "";
int remainder = 0;
do {
remainder = number % 2;
itoa(remainder, buffer, 10); // here 10 means decimal
binary.insert(0, buffer);
number = number / 2;
} while (number != 0);
printf("%12s %s\n", "Binary", binary.c_str());
return EXIT_SUCCESS;
}
'Puzzle > Exercise' 카테고리의 다른 글
Integer to Binary Conversion [Python] (0) | 2019.04.19 |
---|---|
Integer to Binary Conversion [Java] (0) | 2019.04.19 |
Integer to Binary Conversion [C#] (0) | 2019.04.19 |