整型有4种进制形式:

1.十进制: 都是以0-9这九个数字组成,不能以0开头。

2.二进制: 由0和1两个数字组成。

3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。

4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

1、十进制整数转换成二进制 

 (1)十进制转换成二进制的转换原理:除以2,反向去余数,指导商为零为止。

(2)具体做法:

        将某个十进制数除2得到的整数部分保留,作为第二次除2时的被除数,得到的余数依次记下,重复上述步骤,直到整数部分为0就结束,将所有得到的余数最终逆序输出,则为该十进制对应的二进制数。

例如:9(十进制)→1001(二进制)

整数转换成二进制python 整数转换成二进制整数_开发语言

 

 2、十进制整数转换成八进制

1)转换原理:除以8,反向取余数,直到商为0终止。

(2)具体步骤与二进制一样

例如:十进制数796转换成八进制数:

        将796除8取得第一个余数为4,将除8得到的整数部分99作为第二次的被除数,重复上述步骤,直至最终整数部分为0就结束。将取得的所有余数逆序输出

则为:796–>1434

整数转换成二进制python 整数转换成二进制整数_整数转换成二进制python_02

 

3、十进制转十六进制
(1)转换原理:除以16,反向取余数,直到商为0终止。

(2)具体步骤也和二进制、八进制一样,重复上述做法即可得到十六进制数。

        例如:十进制数796转换为十六进制数
        即为:796–>31c

整数转换成二进制python 整数转换成二进制整数_System_03

 

 需要注意的是,十六进制数是由0-9和A-F(或者a-f)组成的,A相当于十进制中的10,B相当于11,依次类推,F相当与15,上述事例中取得的余数12即为十六进制中的c
 

4、代码实现

package HomeWork;
 
import java.util.Scanner;
 
/**
* @Author: lly
* @Description: 输出一个整数的二进制数、八进制数、十六进制数。
* @DateTime: 2022/7/20 19:34
**/
 
public class work18 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个整数");
        int num = sc.nextInt();
 
        System.out.println("1、转换成二进制");
        System.out.println("2、转换成八进制");
        System.out.println("3、转换成十六进制");
        System.out.print("请输入命令:");
        int command = sc.nextInt();
        switch (command){
            case 1:
//                转换成二进制
                convertToBinary(num);
                break;
            case 2:
//                转换成八进制
                convertToOctal(num);
                break;
 
            case 3:
//                转换成十六进制
                convertToHex(num);
                break;
 
        }
 
    }
 
    private static void convertToHex(int num) {
        int[] nums =new int[100];
        int index = 0;
        for (int i = num; i >0 ; i/=16,index++) {
            nums[index] = i%16;
        }
 
        for (int i =index-1; i>=0; i--) {
            if (nums[i]==10){
                System.out.println("A");
            }else if (nums[i]==11){
                System.out.println("B");
            }else if (nums[i]==12){
                System.out.println("C");
            }else if (nums[i]==13){
                System.out.println("D");
            }else if (nums[i]==14){
                System.out.println("E");
            }else if (nums[i]==15){
                System.out.println("F");
            }else {
                System.out.print(nums[i]);
            }
 
        }
 
    }
 
    /**
            * @Author: lly
            * @Description: 十进制转八进制
            * @DateTime: 2022/7/20 19:24
            * @Params: [num]
            * @Return void
            */
    private static void convertToOctal(int num) {
        int[] nums =new int[100];
        int index = 0;
        for (int i = num; i >0 ; i/=8,index++) {
            nums[index] = i%8;
        }
 
        for (int i =index-1; i>=0; i--) {
            System.out.print(nums[i]);
        }
    }
 
    /**
            * @Author: lly
            * @Description: 十进制转换成二进制
            * @DateTime: 2022/7/20 19:20
            * @Params: [num]
            * @Return void
            */
    private static void convertToBinary(int num) {
        int[] nums =new int[100];
        int index = 0;
        for (int i = num; i >0 ; i/=2,index++) {
            nums[index] = i%2;
        }
 
        for (int i =index-1; i>=0; i--) {
            System.out.print(nums[i]);
        }
    }
}

运行结果实例

整数转换成二进制python 整数转换成二进制整数_整数转换成二进制python_04