First of all, I'm sure that you are using "% x" and not "% d in your printf". Secondly, I am sure that it is 40180000, and not 4018000 (additional zero).
Assuming this is true, here where you get this value:
x y ints (4 ). "x" (8 ), .
"6" IEEE ( )
0x01000000 00011000 00000000 00000000 00000000 00000000 00000000 00000000 "x"
HEX = 0x4018000000000000
int
0x01000000 00011000 00000000 00000000
= 0x40180000
"% x" , "40180000".
BTW: , .