定义下面几个变量,假设前提是int占2个字节,long占4个字节,char占1个字节!
为什么int型定义成十六进制是4个数字呢?一步步的来看!
首先,int型转化为二进制型,是什么概念?
1个int字节转化为8个二进制位,比如int a=100;则a的二进制形式就是 25+24+22;也就是 0011 0100;
int型转为二进制就是1个变8个!
接着,再看一下二进制和十六进制的转化:
你可能猜到了,是的,没错!4个二进制转化为1个十六进制.则有:0011 0100 ---> 0x34
所以呢,十进制和十六进制的转换是这样的,一个字节变2个数字;两个字节变4个数字...
所以,定义成long l = 0x12345678 实际上是占用了8/2=4个字节!
后记:都是大学逃课惹的祸啊!!!