byte取值范围
Java中,byte在内存中占一个字节,取值范围为何是-128~127?(-2^7~2^7-1)
计算机是用二进制来表示数据的,一个字节也就是8个比特位,其中最高位表示符号位(0正1负)
故byte的取值范围为1000 0000 到 0111 1111
在Java中,是采用补码来表示数据的
正数的补码和原码相同,负数的补码是在原码的基础上各位取反然后加1
1000 000是补码,减一然后按位取反得到其原码1000 0000
(减一得 0111 1111,再按位取反得 1000 0000)
因为是负数,所以最小的byte值为-2^7=-128
0111 1111的十进制为2^7-1=127(等比序列求和)
byte是一个字节,共有2^8=256种可能性,也就是-128~127
其他基本数据类型同理
char没有负值,占两个字节,所以最小值为0,最大值为1111 1111 1111 1111,故取值范围是0~2^16-1(65535)
等比数列
等比数列是指从第二项起,每一项与它的前一项的比值等于同一个常数的一种数列,常用G、P表示。这个常数叫做等比数列的公比,公比通常用字母q表示(q≠0),等比数列a1≠ 0。
其中{an}中的每一项均不为0。注:q=1 时,an为常数列。
通项公式
an=a1*q^(n-1)
等比求和:
①当q≠1时,
或
②当q=1时,