Java-进制转换

  (1)其他进制到十进制
    系数:就是每一个位上的数值
    基数:x进制的基数就是x
    权:对每一个位上的数据,从右,并且从0开始编号,对应的编号就是该数据的权。
    结果:系数*基数^权次幂之和。
    
(2)十进制到其他进制
    除基取余,直到商为0,余数反转。
    
(3)进制转换的快速转换法
    A:十进制和二进制间的转换
        8421码。
    B:二进制到八进制,十六进制的转换

图解:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
例子:

  下面的操作结果是什么呢?
    byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?
              
    class DataTypeDemo7 {
        public static void main(String[] args) {
            //因为byte的范围是:-128到127。
            //而130不在此范围内,所以报错。
            //byte b = 130;
            //我们可以使用强制类型转换
            byte b = (byte) 130;
            //结果是多少呢?
            System.out.println(b);
        }
    }
    /*
        分析过程:
            我们要想知道结果是什么,就应该知道是如何进行计算的。
            而我们又知道计算机中数据的运算都是补码进行的。
            而要得到补码,首先要计算出数据的二进制。
    
            A:获取130这个数据的二进制。
                00000000 00000000 00000000 10000010
                这是130的原码,也是反码,还是补码。
            B:做截取操作,截成byte类型的了。
                10000010
                这个结果是补码。
            C:已知补码求原码。
                        符号位        数值位
                补码:    1            0000010
    
                反码:    1            0000001
    
                原码:    1            1111110
    */

注:此知识点只需要了解即可。

猜你喜欢

转载自blog.csdn.net/Smile_Sunny521/article/details/89517574