首先,在计算机中,1字节为8位,1位即二进制的1位,它存储0或1。int型常量的大小为4字节,即32位。
设有二进制数01001100001100010101011011111110。
二进数转换为八进制数的方式是,对应的二进制数每3位转换为1位八进制数。首先将上面的二进制数按每3位隔开,得到01001100001100010101011011111110,然后每3位对应0~7范围内的数进行对应转换,得到八进制数011414253376。由于实际编程时,识别八进制数时前面需要加0,所以在前面加了一个0。
上面的二进制数对应的十六进制数是0x4C3156FE,它以0x开头标示,数位的变化范围是0~9和A~F,其中A代表10,F代表15,对应的二进制数每4位转换为1位十六进制数。十六进制在观察内存时需要频繁使用.
目前我们执行到语句int i=123,变量i会在内存上被分配空间,大小为4字节,其中i的值变为7b(我们以十六进制方式查看内存),其十进制值为7×16+11=123。i的值是0x0000007b。为什么显示结果为7b 000000呢?原因是英特尔的CPU采用了小端方式进行数据存储,因此低位在前、高位在后.
十进制数123转换为二进制数方法是让123不断地除以2,并把余数写在右边,把商写在下方,直到商为0,然后逆序写出所有余数,即可得到转换后的二进制数1111011。