前言
写了很久代码,已经忘了Int8,Int16, Int32, Int64有什么区别,这里记录一下捡回学校的知识。。。。
计算机的基本的存储单元
计算机的信息都是用二进制来存储,处理,运算,传输的,->01,
信息存储单位有位、字节和字等几种。
基本储存单元
位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。二进制的一个“0”或一个“1”叫一位。
字节(Byte,B):计算机中数据的基本单位,每8位组成一个字节。各种信息在计算机中存储、处理至少需要一个字节。
字(Word):两个字节称为一个字。汉字的存储单位都是一个字。
不同编码占用的字节
而Int8,Int16,Int32,Int64,后面的数字就代表这个数据类型占据的空间(位 bit)。
即 1byte = 8bit
int8 = 1byte =>可以存2^8个数字 256个 从负整数到正整数,包括0,-128~127
下列图片显示int8所能赋值的数字范围,超出则位数(bit)不够,会报错。
-128~127
-129
128
int16 = 2byte = short =>可以存2^16个数字 65536个 从负整数到正整数,包括0,-32768~32767
int32/64等 同理
另外备注一下储存的位数各类型的关系~
int8 等同于 byte 占1个字节(8bit -128 ~ 127) 256个
int16 等同于 short类型 占2个字节 (-32768 ~ 32767) 65536个
int32 等同于 int类型 占4个字节 (-2147483648 ~ 2147483647)
int64 等同于 long类型 占8个字节 (-9223372036854775808 ~ 9223372036854775807)