C Decimal: конвертируйте числа в десятичную систему
C decimal - это конвертер данных, который предназначен для преобразования символов и чисел из двоичной, десятичной, шестнадцатеричной и других систем счисления. Этот инструмент очень полезен для программистов, которые работают с различными системами счисления и нуждаются в быстром конвертировании чисел и символов.
Примеры кода использования C decimal:
1. Преобразование числа из двоичной системы счисления в десятичную:
c
#include
#include
#include
#include
int main()
{
char binary_number[20];
int decimal_number = 0, power = 0;
int i, len;
printf("Input a binary number: ");
fgets(binary_number, 20, stdin);
len = strlen(binary_number) - 1;
for (i = len - 1; i >= 0; i--)
{
if (binary_number[i] == '1')
{
decimal_number += pow(2, power);
}
power++;
}
printf("Decimal number is: %d\n", decimal_number);
return 0;
}
2. Преобразование числа из шестнадцатеричной системы счисления в десятичную:
c
#include
#include
#include
#include
int hex_to_decimal(char hex_digit)
{
if (hex_digit >= '0' && hex_digit <= '9')
{
return hex_digit - '0';
}
else if (hex_digit >= 'a' && hex_digit <= 'f')
{
return hex_digit - 'a' + 10;
}
else if (hex_digit >= 'A' && hex_digit <= 'F')
{
return hex_digit - 'A' + 10;
}
else
{
return -1;
}
}
int main()
{
char hex_number[20];
int hex_len, decimal_number = 0, power = 0;
int i;
printf("Input a hexadecimal number: ");
fgets(hex_number, 20, stdin);
hex_len = strlen(hex_number) - 1;
for (i = hex_len - 1; i >= 0; i--)
{
int digit = hex_to_decimal(hex_number[i]);
if (digit == -1)
{
printf("Invalid hexadecimal digit: %c\n", hex_number[i]);
return 1;
}
decimal_number += digit * pow(16, power);
power++;
}
printf("Decimal number is: %d\n", decimal_number);
return 0;
}
В обоих примерах используется стандартная библиотека math.h для вычисления степени числа. Кроме того, во втором примере используется функция hex_to_decimal для преобразования символьной записи шестнадцатеричного числа в его десятичное представление.