java-01
约 574 字大约 2 分钟
2025-09-27
first Java
public class Main{
public static void main(String[] args) {
System.out.println("Hello World");
}
}声明变量
和C语言规则一样,int a; 有时候我们希望变量的值一直保持不变,我们就可以将其指定为常量,这里我们介绍Java中第一个需要认识的关键字:
final int a = 666; //在变量前面添加final关键字,表示这是一个常量,常量的值不允许发生修改
计算机中二进制表示
1+1 = 10 (满二进一)=2^1+0
一个位也叫一个bit,8个bit称为1字节,16个bit称为一个字,32个bit称为一个双字,64个bit称为一个四字,一般采用字节来描述数据大小
1111=2+4+8+16
1024B=1KB,MB,GB,TB
在Java中,无论是小数还是整数,他们都要带有符号(和C语言不同,C语言有无符号数)所以,首位就作为我们的符号位,还是以4个bit为例,首位现在作为符号位(1代表负数,0代表正数):
正数:0开头,0101 = 5
负数:1011 = 3
做加减法
引入反码
正数的反码就是其原码本身
负数的反码是原码的基础上,符号位不变,其余各位取反1001->1110 = -1
直接进行加减法:1+(-1) = 0001 +1110 =>-0
思考:1111代表-0,0000代表+0,在我们实数的范围内,0有正负之分吗?0既不是正数也不是负数,那么显然这样的表示依然不够合理!根据上面的问题,我们引入了最终的解决方案,那就是
补码,定义如下:
正数的补码就是其本身 (不变!)0001->0001
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1(即在反码的基础上+1,此时1000表示-8)
对补码再求一次补码就可得该补码对应的原码。
比如-7原码为1111,反码为1000,补码就是1001了,-6原码为1110,反码为1001,补码就是1010。所以在补码下,原本的1000就作为新增的最小值-8存在。
所以现在-0没有了
- 1+(-1) = 0001+1111 =1 0000 = + 0
更新日志
ac93b-加密于178b8-🎉 init: 美丽的鸡于
版权所有
版权归属:HMM
