java变量就是可变的值

在中学课程中,存在x+y=10;y=9的时候,x等于多少?其中的x和y就是数学中的变量。

Java变量:

变量的实质是一小块内存单元,这一小块内存里存储着变量的值;而当变量指向一个对象时,这个变量就被称为引用变量。

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间

例如 int a;就相当于向内存申请了四个字节大的内存。如果现在我们有一个1G的内存条,则理论上这个内存可以存储134217728个a。

1GB=1073741824字节。

1字节(Byte)=8位(bit) [6]
1KB( Kilobyte,千字节)=1024B [6]
1MB( Megabyte,兆字节)=1024KB [6]
1GB( Gigabyte,吉字节,千兆)=1024MB [6]

int:一般四个字节

int 数据类型是32位、有符号的以二进制补码表示的整数.
一个字节就是8比特;
电脑是以二进制存储以及发送接收数据的。二进制的一位,就叫做 1 bit。也就是说 bit 的含义就是二进制数中的一个数位,即 “0” 或者 "1"。

内存单元:

一个内存单元的大小是一字节,也就是8比特,是一串8比特的二进制数

(转载的)为什么int类型的最大值是2^31-1 ?

int类型4个字节,1个字节等于8个比特,32位,最大值用二进制表示就是, 0111...(总共31个1)。为什么第一位是0? 二进制里,最高位(第一位)表示符号

0表示正,1表示负。

所以将二进制01111...(31个1)转换成十进制,就是:2^01 + 2^11 + 2^21...+2^n1就变成了2的n次方求和, 这里的n就是30,因为第一位是0,即2^31 * 0

2的n次方求和(n=30),由等比数列可知, 2^0 + 2^1 + 2^2...+2^n=2^(n+1)-1 = 2^31-1

同理最小值的二进制表示就是,1000...(总共31个0),(负数二进制转十进制,是用补码(反码加1)转的。)

1000(31个0)的补码还是本身。 所以最小值就是, 2^00 + 2^10 + 2^20...+ 2^311=2^31= -2^31

也是转载来的原文作者也不知道是谁了。

1597720056523771.png

标签: none

相关阅读

  • 测试信息
  • 开发商:阿里巴巴
  • 版本号:1.0
  • 配色:(企业家)” 推选活动结果
  • 测试信息
  • 测试信息
  • 测试信息