递归地将以10为底的数字转换为以2为底的数字

希尔科特

对于一项家庭作业,我被要求创建一个递归函数,该函数需要一个int和一个int指针,并打印第一个int的二进制表示形式,并使指针的目的地与二进制数中的个数相同。

它适用于某些值-65和99适用-但不适用于其他大多数值(负值不在问题范围内)。我不知道为什么

void binaryPrinter(int value, int *numberOfOnes)
{
    int thisbit;

    //printf("Value is %i",value);

    if (value <= 0) { 
        printf("%i",value);
        return;
    } else if (value == 1){
        printf("1");
        *numberOfOnes = *numberOfOnes + 1;
        return;
    }


    thisbit = value % 2;
    if (thisbit) { *numberOfOnes = *numberOfOnes + 1; }
    printf("%i",thisbit);
    binaryPrinter(value / 2, numberOfOnes);
}

为什么?

保罗·鲁布

因为您要先打印最低有效位,即要反向打印数字。

65和99是二元回文,所以结果很好。

调用(并打印)高阶位后,打印当前位的结果

// rest of the function as before, but at the very end...

binaryPrinter(value / 2, numberOfOnes);
printf("%i",thisbit);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

递归地将以10为底的数字转换为以2为底的数字

来自分类Dev

对于循环将以2为底的数字转换为以10为底的数字?

来自分类Dev

将以10为底的数字转换为以3为底的数字

来自分类Dev

将以10为底的整数转换为以3为底,加上以3为底的数字,然后将结果转换回以10为底

来自分类Dev

std :: cout如何将数字类型转换为以10为底的数字?

来自分类Dev

如何计算以10为底的数字?

来自分类Dev

以4为底的数字增加

来自分类Dev

在Squirrel中将以10为底的整数解析为以16为底的整数

来自分类Dev

使用tidyverse动词将以下函数转换为以R为底的函数

来自分类Dev

以10为底的指数

来自分类Dev

以10为底的NSData

来自分类Dev

一个程序,将以10为基数的数字转换为其他给定的编号系统

来自分类Dev

将以小时为单位的时间从数字转换为HMS格式

来自分类Dev

字符串中以10为底的大数字的最佳压缩

来自分类Dev

优化逐位操作:以4为底的数字

来自分类Dev

递归打印以2为基数转换的数字

来自分类Dev

以10为底的int()的无效文字:'328.94'(将字节转换为int()时)

来自分类Dev

将整数转换为以64为底的值

来自分类Dev

我的代码是错误的(将str(1元素)的列表转换为int)错误ValueError:int()的常量文字以10为底:“ ['2']”

来自分类Dev

以10为底的int()无效文字:“ q”

来自分类Dev

为什么小数类型以10为底?

来自分类Dev

以10为底的int()的无效文字:“错误

来自分类Dev

如何指定以10为底的负幂?

来自分类Dev

如何获取数组的以10为底的对数?

来自分类Dev

ValueError:int()以10为底的无效文字:''

来自分类Dev

以10为底的int()的无效文字:'n'

来自分类Dev

ValueError以10为底的int()的无效文字:''

来自分类Dev

在MySQL中将以分钟为单位的数字INT转换为TIME

来自分类Dev

在MySQL中将以分钟为单位的数字INT转换为TIME

Related 相关文章

  1. 1

    递归地将以10为底的数字转换为以2为底的数字

  2. 2

    对于循环将以2为底的数字转换为以10为底的数字?

  3. 3

    将以10为底的数字转换为以3为底的数字

  4. 4

    将以10为底的整数转换为以3为底,加上以3为底的数字,然后将结果转换回以10为底

  5. 5

    std :: cout如何将数字类型转换为以10为底的数字?

  6. 6

    如何计算以10为底的数字?

  7. 7

    以4为底的数字增加

  8. 8

    在Squirrel中将以10为底的整数解析为以16为底的整数

  9. 9

    使用tidyverse动词将以下函数转换为以R为底的函数

  10. 10

    以10为底的指数

  11. 11

    以10为底的NSData

  12. 12

    一个程序,将以10为基数的数字转换为其他给定的编号系统

  13. 13

    将以小时为单位的时间从数字转换为HMS格式

  14. 14

    字符串中以10为底的大数字的最佳压缩

  15. 15

    优化逐位操作:以4为底的数字

  16. 16

    递归打印以2为基数转换的数字

  17. 17

    以10为底的int()的无效文字:'328.94'(将字节转换为int()时)

  18. 18

    将整数转换为以64为底的值

  19. 19

    我的代码是错误的(将str(1元素)的列表转换为int)错误ValueError:int()的常量文字以10为底:“ ['2']”

  20. 20

    以10为底的int()无效文字:“ q”

  21. 21

    为什么小数类型以10为底?

  22. 22

    以10为底的int()的无效文字:“错误

  23. 23

    如何指定以10为底的负幂?

  24. 24

    如何获取数组的以10为底的对数?

  25. 25

    ValueError:int()以10为底的无效文字:''

  26. 26

    以10为底的int()的无效文字:'n'

  27. 27

    ValueError以10为底的int()的无效文字:''

  28. 28

    在MySQL中将以分钟为单位的数字INT转换为TIME

  29. 29

    在MySQL中将以分钟为单位的数字INT转换为TIME

热门标签

归档