十六进制数怎么存储?
在计算机中所有的数值都是以二进制方式存储的而所谓的16进制或者10进制包括8进制都是给人看的。
在你的例子中,打印*p由于p是char*型的,所以*p是char型打印*p相当于打印(char)a在int转为char的时候,取低8位二进制值对于16进制形式,也就是低两位。所以0x456会打印56但如果是赋值a=456;十进制,那么对应的16进制为0x1C8打印的char值,实际上是0xC8以%d方式就是200