用c语言编写一个,10进制转为16进制的程序,包括整数和小数部分,代码越简单越好
时间: 2023-05-24 20:06:39 浏览: 81
#include <stdio.h>
int main() {
int integer_part;
float decimal_part;
printf("Please enter a decimal number: ");
scanf("%f", &decimal_part);
integer_part = (int) decimal_part; //取整数部分
printf("The %f in hexadecimal is 0x%x.", decimal_part, integer_part);
printf("."); //输出小数点
decimal_part -= integer_part; //减去整数部分
for (int i = 0; i < 6; i++) { //小数部分最多六位
decimal_part *= 16;
int decimal_integer_part = (int) decimal_part; //取小数部分的整数部分
decimal_part -= decimal_integer_part; //减去整数部分,保留小数部分
if (decimal_integer_part < 10) { //如果是数字
printf("%d", decimal_integer_part);
} else { //如果是字母
printf("%c", decimal_integer_part - 10 + 'A');
}
if (decimal_part == 0) { //如果小数部分已经是0,跳出循环
break;
}
}
return 0;
}
阅读全文