Write a program which converts an input integer representing a number in base 10 to the corresponding number in base 14
Posted: Tue Jul 12, 2022 8:21 am
CODE:
#include <stdio.h>#include <stdlib.h>
int main() { // User input int num; printf("Enter a number: "); scanf("%d", &num);
// Declare an array char *ans = malloc(sizeof(char) * 5); int temp = num;
int i = 0; while (temp /= 14) { i++; }
ans[i + 1] = '\0'; // Converting the input in base 10 to base 14 while (num) { // Taking out MSB int rem = num % 14; // If MSB < 10 then equal to char value from 0 to 9 if (rem > 9) ans[i--] = 55 + rem; else ans[i--] = 48 + rem; num /= 14; } if (ans == 0) { // if overflow printf("In base 14: %s", ans); } else printf("That number is too large!\n"); return 0;}
Output:
Enter a number: 38416In base 14: 10000
Should be:
Enter a number: 38416That number is too large!
Write a program which converts an input integer representing a number in base 10 to the corresponding number in base 14 using an array. In base 14, the digits after are ABCD. Your program only needs to consider up to 4 digit base 14 numbers. If an input would convert to a number in base 14 with more than 4 digits, warn the user. Requirements - The array size should be 4. - The input should be read as an Example Runs Enter a number: 26 In base 14: 1C Enter a number: 38415 In base 14: DDDD Enter a number: 38416 That number is too large!