用C编程时,假如我将整数h作为十六进制值,整数d作为十进制数。我可以在h和d之间进行加法或减法吗?或者他们必须使用相同数量的系统?
答案 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
您使用的表示无关紧要,最终它将全部转换为二进制。