Java基础 进制与原码、反码、补码

124 阅读5分钟

Java基础语法学习感悟(1)

进制

进制分类
  • 二进制:用0和1表示,用0b开头;
  • 八进制:用0~7表示,用0开头;
  • 十六进制:用0~9、字母a~f表示,用0x开头;
  • 十进制:用0~9表示,未用以上三者开头,默认十进制;
进制转换
  1. 十进制转其他进制----辗转相除法

    辗转相除法:⽤这个数字除进制,再⽤商除进制,⼀直到商为0结束。将每⼀步得到的余数倒

    着连接起来,最后得到的结果,就是转换成指定进制后的结果。

  2. 其他进制转十进制

    ⽤每⼀位的数字,乘进制的位数-1次⽅,最后将每⼀个结果相加,就是转换成的⼗进制的表

    示形式。

  3. ⼆进制、⼋进制、⼗六进制之间的相互转换

    1. ⼀个⼋进制位可以等价替换成三个⼆进制位
    2. ⼀个⼗六进制位可以等价替换成四个⼆进制位
数据单位转换

每⼀个⼆进制位,称为⼀个⽐特位:1bit

每8个⽐特位,称为⼀个字节:1byte

1024byte => 1kb => 1024kb => 1mb => 1024mb => 1Gb => 1024Gb => 1Tb => 1024Tb => 1Pb => 1024Pb => 1Eb => 1024Eb => 1Zb

原码、反码、补码

复数的表示

在⼀个⼆进制的数字中,最⾼位(最左侧的⼀位)不是⽤来表示⼀个数字的⼤⼩的,⽽是⽤来表示⼀个

数字的符号的。如果0,代表是正数;如果是1代表是负数。这⼀位也被称为符号位。

关于补码

由于⼀个数字具有正负性,因此,在进⾏数据的计算的时候,需要考虑到数字的符号。因此,在计算机

中所有的数字存储和运算都是以补码的形式进⾏的。补码的存在,就是为了解决正负数字在进⾏存储和

运算时候会出现的符号问题。

如何计算补码

原码:就是⼀个数字直接计算得到的⼆进制本身。

反码:正数的反码与原码相同;负数的反码是符号位不变,其他位按位取反。

补码:正数的补码与原码相同;负数的补码是反码+1;

关于补码的计算

数字的存储和计算都是以补码的形式进⾏的。如果计算结果超出⼀位,那么这种情况称为是“溢出”。如

果出现了溢出的情况,则溢出的那⼀位舍去不要。

需要注意的是:两个数字通过补码进⾏运算,⽽运算结果也是⼀个补码。如果需要得到原码,则将这个

数字再求⼀次补码即可。对补码再求补码,得到原码。

数据类型

其实编程,就是操作若⼲数据进⾏各种计算。每个数据都有⾃⼰的类型。

在Java中,数据类型分为两种: 基本数据类型 和 引⽤数据类型 。

  • 整型:就是整数类型

    1. 字节型:byte,占1个字节
    2. 短整型:short,占2个字节
    3. 整型:int,占4个字节
    4. ⻓整型:long,占8个字节

    long类型后面要跟上L或l

    byte a = 10;//定义byte类型
    short b = 10;//定义short类型
    int c = 10;//定义int类型
    long d = 10L;//定义long类型
    
  • 浮点型:就是⼩数类型

    1. 单精度浮点型:float,占4个字节
    2. 双精度浮点型:double,占8个字节

    浮点型默认是double类型,定义float类型后面要跟上f或F;

    double d=3.14;//定义double类型变量
    float f =3.14F;//定义float类型变量
    
  • 字符型:⽤来描述⼀个字符(字⺟、数字、符号、汉字...)

    char,占2个字节

    char类型要用单引号括起来,里面有且只有一个字符

    char c = 'A';
    
  • 布尔型:⽤来描述⾮真即假,⾮假即真的数据

    boolean,占1个字节;true/false

标识符

编程其实就是操作很多的数据进⾏各种计算。但是这些数据⼀定要有⼀个标志来区分它们。标识符,是

⼀个有序的字符序列,⽤来表示内存中的数据。(就是取的啥名)

标识符命名规则
  1. 由字⺟、数字、下划线和$符号组成
  2. 不能以数字开头
  3. 不能与系统关键字、保留字重复。

关键字:其实也是⼀个满⾜以上两点要求的字符序列,只不过这个字符序列被系统占⽤了,已经被赋予了特

殊的含义。

保留字:也是满⾜以上两点要求的字符序列,同样被系统占⽤了,但是⽬前暂未赋予特殊的含义,可能会在

后续的版本更新中使⽤。

标识符的命名规范
  • 望文知义:每⼀个标识符的命名需要有⼀定的含义,让⼈⼀眼看上去就知道想表示的数据是什么

  • 遵循驼峰命名法:

    1. 在遵循望⽂知义的情况下,有些时候⼀个标识符的命名可能⽐较⻓,由多个单词组成
    2. ⼤驼峰:组成⼀个标识符的每⼀个单词的⾸字⺟都是⼤写的
    3. ⼩驼峰:⾸单词除外,从第⼆个单词开始,每⼀个单词的⾸字⺟都是⼤写的

    类名遵循大驼峰,变量名遵循小驼峰