可以用十进制数加上/减去十六进制数吗?

时间:2015-02-11 02:14:47

标签: c binary hex decimal

用C编程时,假如我将整数h作为十六进制值,整数d作为十进制数。我可以在h和d之间进行加法或减法吗?或者他们必须使用相同数量的系统?

2 个答案:

答案 0 :(得分:9)

是的,你可以写:

int x = 100 - 0x100 + 0100;

将十进制与十六进制和八进制混合。在计算发生之前,这些值都被转换为二进制(并且编译器将在此示例中进行计算;它不会在运行时进行计算)。并且任何常量都可以被赋予适当值的int值替换:

int d = 100;
int h = 0x100;
int o = 0100;
int x = d + h + o;

答案 1 :(得分:0)

是的,他们可以,例如

int x;
x = 0x0F + 10;
printf("%d\n", x);

输出:

25

您使用的表示无关紧要,最终它将全部转换为二进制。

相关问题