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

Vim*_*mzy 3 c binary hex decimal

在C中编程时,假如我将整数h作为十六进制值而整数d作为十进制数.我可以在h和d之间进行加法或减法吗?或者他们必须在同一个数字系统?

Jon*_*ler 10

是的,你可以写:

int x = 100 - 0x100 + 0100;
Run Code Online (Sandbox Code Playgroud)

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

int d = 100;
int h = 0x100;
int o = 0100;
int x = d + h + o;
Run Code Online (Sandbox Code Playgroud)