diff options
author | RossTheRoss <mstrapp@protonmail.com> | 2020-01-30 16:55:04 -0600 |
---|---|---|
committer | RossTheRoss <mstrapp@protonmail.com> | 2020-01-30 16:55:04 -0600 |
commit | 175721a63b426355274fa9e8063f762020ab8362 (patch) | |
tree | cf2c1b33233d660c9f50de5e659b9343bb264984 /ee2301/baseConvert.cpp | |
parent | Make Python thing in Python (diff) | |
download | homework-175721a63b426355274fa9e8063f762020ab8362.tar homework-175721a63b426355274fa9e8063f762020ab8362.tar.gz homework-175721a63b426355274fa9e8063f762020ab8362.tar.bz2 homework-175721a63b426355274fa9e8063f762020ab8362.tar.lz homework-175721a63b426355274fa9e8063f762020ab8362.tar.xz homework-175721a63b426355274fa9e8063f762020ab8362.tar.zst homework-175721a63b426355274fa9e8063f762020ab8362.zip |
R E A R R A N G E
Diffstat (limited to 'ee2301/baseConvert.cpp')
-rw-r--r-- | ee2301/baseConvert.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/ee2301/baseConvert.cpp b/ee2301/baseConvert.cpp deleted file mode 100644 index d675741..0000000 --- a/ee2301/baseConvert.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// C program to convert a number from any base -// to decimal -#include <stdio.h> -#include <string.h> -#include <iostream> - -// To return value of a char. For example, 2 is -// returned for '2'. 10 is returned for 'A', 11 -// for 'B' -int val(char c) -{ - if (c >= '0' && c <= '9') - return (int)c - '0'; - else - return (int)c - 'A' + 10; -} - -// Function to convert a number from given base 'b' -// to decimal -int toDeci(char *str, int base) -{ - int len = strlen(str); - int power = 1; // Initialize power of base - int num = 0; // Initialize result - int i; - - // Decimal equivalent is str[len-1]*1 + - // str[len-1]*base + str[len-1]*(base^2) + ... - for (i = len - 1; i >= 0; i--) - { - // A digit in input number must be - // less than number's base - if (val(str[i]) >= base) - { - printf("Invalid Number"); - return -1; - } - - num += val(str[i]) * power; - power = power * base; - } - - return num; -} - -// Driver code -int main() -{ - char str[] = "11A"; - int base = 16; - printf("Please enter number followed by base: "); - std::cin >> str >> base; - printf("Decimal equivalent of %s in base %d is" - " %d\n", - str, base, toDeci(str, base)); - return 0; -} |