这篇文章随便写写
一个byte能表示的数的范围是-128到127是可以解释的,首先明确计算机中存储的数字都是0和1,一个byte是8bit,由8个0或1来表示,而在二进制中最高位是符号位,用来表示一个数的正负,因此实际上能用来表示数字的只有7位,因此能表达的最大正数为0111 1111,,也就是127,其次我们需要明确在计算机中存储的都是该数的补码,正数三码合一,负数原码,反码,补码不一样,例如-128,我们首先找到128的原码1000 0000,显然一个byte是表示不了128的,我们可以先找到-127的原码1111 1111,取反1000 0000,取补1000 0001,因此-128的补码为1000 0001 - 1也就是1000 0000,因此如果在一个字节内,127 + 1的话,最终得到的结果就是 0111 1111 + 1 = 1000 0000也是就-128