常量与进制

常量:在java程序运行过程中,其值不能够发生改变的量

分类:

字面值常量
字符串常量:被双引号括起来的字符序列 "java"
字符常量:被单引号括起来的单个字符 'a'
整数常量:所有的整数 100 200 -100
小数常量:所有的小数 1.23 3.14 -1.23
布尔常量:true false
空常量:null []
自定义常量:Student s1 = new Student; s1就是自定义常量

java针对整数常量,提供了4种表现形式

    二进制:由0,1构成,逢2进1,由0b开头
    八进制:由0,1,2,3,4,5,6,7构成,逢8进1,由0开头
    十进制:由0,1,2,3,4,5,6,7,8,9构成,逢10进1,java中整数默认是十进制的
    十六进制:由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f构成,逢16进1,由0x开头

进制:就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

进制之间的转换
1、其他进制转十进制?
(十进制)12345 -> (十进制)12345
12345 = 10000 + 2000 + 300 + 40 + 5
= 110^4 + 210^3 + 310^2 + 410^1 + 510^0
= 10000 + 2000 + 300 + 40 + 5
= 12345
规律:系数
原进制的指数次幂的和
(二进制)100 -> (十进制)4
100 = 12^2 + 02^1 + 02^0
= 4
十六进制转十进制的方法是:把十六进制数按位权展开后相加。
例如,将十六进制数2A转换为十进制:
十六进制中A代表10,则B代表11....
2
16+101=42
2、十进制转其他进制?
规律:除基取余数,知道商为0,余数反转
(十进制)64 -> (八进制)
64/8=8....0
8/8=1.....0
1/8=0.....1
余数反转:0100
3、十进制与二进制之间的快速转换 8421码
(二进制)10100 -> 1
2^4 + 1*2^2 = 20(十进制)

       一个字节:8位
       1byte = 8bit
       1kb = 1024byte
       1mb = 1024kb
       1gb = 1024mb
       1tb = 1024gb
       1pb = 1024tb

     (二进制)1    1   1   1   1   1   1   1
     (十进制)128  64  32  16  8   4   2   1

4、其他进制与其他进制(举例:二进制->八进制)
做法1:先转10进制,再转八进制
做法2:从右向左,每3位一组合,最左边的够,用0补齐,算每一组合的进制结果,拼接
10100(二进制) => 20(十进制) => 24(八进制)

注意:

1、默认情况下,idea输出的结果是转化成十进制的结果
2、学习进制的目的是为了学习二进制与十进制的关系,因为2进制是计算机的语言,而10进制是我们人类的语言

posted @ 2024-08-21 20:29  hello_future  阅读(36)  评论(0)    收藏  举报