马士兵java架构师

您现在的位置是:java学习笔记 >

java学习笔记

Java中表达二进制的方法(合计4种方法,欢迎补充)

2023-11-30 14:49:22java学习笔记 本文浏览次数:1 百度已收录

本 文 目 录

首先,Java中表达二进制主要有以下几种方法:

  1. 使用Integer.toBinaryString()方法
  2. 使用Integer.toString(int i, int radix)方法
  3. 使用位运算符(如'&', '|', '^', '~', '<<', '>>', '>>>')
  4. 使用BigInteger类的toString(int radix)方法

接下来我将为您详细解释这四种方法,并在表格下方给出具体的代码实现。

方法 描述
Integer.toBinaryString() 将整数转换为二进制字符串
Integer.toString(int i, int radix) 将整数i转换为基数为radix的字符串
位运算符 直接对整数进行位操作
BigInteger.toString(int radix) 将BigInteger对象转换为基数为radix的字符串

以下是具体的代码实现及逐行解释:

import java.math.BigInteger;

public class test1 {
    public static void main(String[] args) {
        // 方法一:使用Integer.toBinaryString()
        int num = 10;
        String binaryStr1 = Integer.toBinaryString(num);
        System.out.println("Method 1: " + binaryStr1);

        // 方法二:使用Integer.toString(int i, int radix)
        String binaryStr2 = Integer.toString(num, 2);
        System.out.println("Method 2: " + binaryStr2);

        // 方法三:使用位运算符
        String binaryStr3 = "";
        for (int i = 31; i >= 0; i--) { // 32位整数最大值
            if ((num & (1 << i)) != 0) {
                binaryStr3 += '1';
            } else {
                binaryStr3 += '0';
            }
        }
        System.out.println("Method 3: " + binaryStr3);

        // 方法四:使用BigInteger.toString(int radix)
        BigInteger bigInt = new BigInteger(Integer.toString(num));
        String binaryStr4 = bigInt.toString(2);
        System.out.println("Method 4: " + binaryStr4);
    }
}
# 运行结果
Method 1: 1010
Method 2: 1010
Method 3: 00000000000000000000000000001010
Method 4: 1010

逐行解释:

  • 1、定义一个名为BinaryExpression的公共类。
  • 2、主函数入口。
  • 3、定义一个整数变量num并赋值为10。
  • 4、使用Integer.toBinaryString()方法将num转换为二进制字符串,并将其赋值给binaryStr1。
  • 5、打印出’Method 1: '和binaryStr1的内容。
  • 6、使用Integer.toString(int i, int radix)方法将num转换为基数为2的字符串,并将其赋值给binaryStr2。
  • 7、打印出’Method 2: '和binaryStr2的内容。
  • 8、初始化一个空字符串binaryStr3,用于存储使用位运算符得到的二进制结果。
  • 9、使用for循环遍历从最高位到最低位的所有位。
  • 10、判断当前位是否为1,如果是,则在binaryStr3后面添加字符’1’;否则,添加字符’0’。
  • 11、结束for循环。
  • 12、打印出’Method 3: '和binaryStr3的内容。
  • 13、创建一个新的BigInteger对象bigInt,将num转换为字符串后传递给构造函数。
  • 14、使用BigInteger.toString(int radix)方法将bigInt转换为基数为2的字符串,并将其赋值给binaryStr4。
  • 15、打印出’Method 4: '和binaryStr4的内容。