dabocaiqq 2020-01-15 18:21 采纳率: 63.3%
浏览 318
已结题

悬赏问题都来回答!!!Java语言实现两个二进制数相加,不需要把结果转换为十进制数。二进制数最大100位

悬赏问题都来回答!!!Java语言实现两个二进制数相加,不需要把结果转换为十进制数。二进制数最大100位

完整的代码写给我看!

  • 写回答

2条回答 默认 最新

  • Kim_小星兴 2020-01-16 09:02
    关注

    其实把~java有一个类叫:BigInteger,可以解决你的问题哦

    因为是大整数类型,所以位数可以是无限大,只要内存装得下

    下头是简单的示例代码:

    import java.math.*;
    
    
    /**
     * BitInteger
     */
    public class BitInteger {
    
        public static void main(String[] args) {
            String bitStr1 = "0101000";
            String bitStr2 = "1010110";
            BigInteger a = new BigInteger(bitStr1, 2);
            BigInteger b = new BigInteger(bitStr2, 2);
    
            System.out.println("a+b as :" + a.toString() + "+" + b.toString() + "=" + a.add(b).toString());
            System.out.println("a+b as :" + a.toString(2) + "+" + b.toString(2) + "=" + a.add(b).toString(2));
        }
    }
    

    执行结果:

    a+b as :40+86=126
    a+b as :101000+1010110=1111110
    

    最后:

    数字相加无所谓进制,只是在于显示出来的时候是个什么样子,
    所以二进制的 0101+0011 = 1000;

    还是十进制的5+3 = 8;

    实际上都是 5 个苹果加3个苹果 = 8个苹果,只是显示的形态不一致而已奥~~~

    评论

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流