java-在Python v 3.5.2和v 2.7.12中结果不同,但是v 2.7.12是正确的吗?

文章讨论了Python 2.7.12与Python 3.5.2在处理大整数除法时的不同结果。在Python 3中,整数除法与浮点数除法行为一致,而Python 2则区分了地板除和经典除法。PEP 238介绍了这种变化,并提出过渡措施。要使Python 2代码在处理大整数时行为与Python 3一致,应使用地板除运算符//。
摘要由CSDN通过智能技术生成

首先,我要说一下我的问题,我知道在Python 3周围,“无限长”已集成到int中,因此Python中的int有效地可以和您的RAM一样大.

 

我正在比较Java和Python.
以下是Python和Java程序.他们做同样的事情.

Python:

 

def answer(n):
    count = 0
    t = int(n)
    while (t!=1):
        t = t+1 if (t%2==1) else t/2
        count += 1
    return count

Java:

 

static int answer(String n){
    int count = 0;
    BigInteger t = new BigInteger(n)

    while(!t.equals(BigInteger.ONE)){
        t = ((t.remainder(new BigInteger("2"))).equals(BigInteger.ONE))
            ?t.add(new BigInteger("1"))
            :t.divide(new BigInteger("2"));
        count++;
    }
    return count;
}

然后,我编写了一个简单的bash脚本来运行java和python(版本2.7.12和3.5.2)并比较它们的输出.

 

#!/bin/bash
    i&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值