Function 从十进制到二进制的转换

Function 从十进制到二进制的转换,function,binary,decimal,writing,Function,Binary,Decimal,Writing,这部分实验室的目标是推动从右向左将十进制数转换为二进制形式。因此,您将编写一个函数numToBinary(整数),其工作方式如下: 天体(5) ‘101’ 我的密码是: def isOdd (x): if x%2==1: return('True') if x%2==0: return('False') def numToBinary(x): if n==0: return '' elif isOdd(x):

这部分实验室的目标是推动从右向左将十进制数转换为二进制形式。因此,您将编写一个函数numToBinary(整数),其工作方式如下:

天体(5) ‘101’

我的密码是:

def isOdd (x):
    if x%2==1:
        return('True')
    if x%2==0:
        return('False')

def numToBinary(x):
    if n==0:
        return ''
    elif isOdd(x):
        return numToBinary(x//2)+'1'
    else:
        return numToBinary(x//2)+'0'

但这会从左到右返回字符串。有人能帮我找到一种从左到右的表示法到从右到左的表示法吗?

我用数组做的。这是我的密码。希望你能得到它,它会帮助你

int numberArray[100], number, quo, rem, i=0, j;

cout << "Enter positive number : ";
cin >> number;

while(number > 0)
{
    quo = number/2; // quo defines the quotient.
    //cout << "\n" << quo;

    rem = number % 2; // rem defines the reminder.
    //cout << rem;

    numberArray[i] = rem;

    i++;
    number = quo;
}

cout << "Binary digits of entered number are : ";

// Below loop is for result of binary numbers, entered by user.
for(j=i-1; j>=0; j--)
{
    cout << numberArray[j];
}
int numberArray[100],数字,quo,rem,i=0,j;
数量;
而(数量>0)
{
quo=number/2;//quo定义商。
//这是蟒蛇吗

我没有看到您的代码中有任何“从左到右”的问题。但是,您提供的函数
isOdd
返回字符串(
'False'
'True'
)。它应该返回布尔值(即删除单引号)

这段代码应该可以正常工作

如果您只想将一个数字转换成二进制,可以使用Python的内部
bin
函数

def isOdd (x):
    if x%2==1:
        return(True)  # <<< THIS
    if x%2==0:
        return(False) # <<< AND THIS
def numToBinary(x):
    if x==0:          # <<<< THIS!
        return ''
    elif isOdd(x):
        return numToBinary(x//2)+'1'
    else:
        return numToBinary(x//2)+'0'