字节就是byte,计算机的基本数据单位,由8位二进制数字组成,可以表示十进制的0-255总共256个数字。在计算机硬件结构中,字节是数据的量子化最小组成单元,如果数据的值和精度需求超越byte可以容纳的范围,则必须使用多个字节排列表达。
早期的计算机寻址能力是16位长度的,一般用这样一个单位的长度表示整数值,此时运算效率是最优的。故在16位的计算机系统中,int数据类型被确定为2byte长度。随着硬件技术的发展,计算机的基本寻址能力从16位到32位、再到64位,则在这些计算机系统中,效率最优的int整数容量也提升为4byte、8byte。在一些编译器中,可能会将int数据的范围确定到与系统匹配,此时int数据的长度未必就是旧式数据的2byte了。所以,写程序的时候,千万不要再想当然以为int是16位的二进制数,用移位来代替乘法,或者直接用2来代替sizeof(int)计算分配内存的容量。