Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java计算二进制数?_Java_Binary - Fatal编程技术网

用java计算二进制数?

用java计算二进制数?,java,binary,Java,Binary,我是java新手,想知道是否有任何方法可以计算单个int的二进制中1和0的实际数量。例如,我会尝试找出int 6的二进制32位二进制中1和0的数量?,因为您没有提供代码,所以我将给出一些关于如何做到这一点的指南 通过调用此方法Integer.toBinaryString(x),获取int的二进制表示形式 前面的方法将仅返回数字的nessecery位,例如在6的情况下,它将返回110。但是您需要一个32位的6表示,因此您必须在该方法返回的结果前面添加额外的零 创建2个计数器变量。一个代表一,一个代

我是java新手,想知道是否有任何方法可以计算单个int的二进制中1和0的实际数量。例如,我会尝试找出int 6的二进制32位二进制中1和0的数量?

,因为您没有提供代码,所以我将给出一些关于如何做到这一点的指南

  • 通过调用此方法
    Integer.toBinaryString(x),获取
    int
    的二进制表示形式
  • 前面的方法将仅返回数字的nessecery位,例如在
    6
    的情况下,它将返回
    110
    。但是您需要一个32位的6表示,因此您必须在该方法返回的结果前面添加额外的零
  • 创建2个计数器变量。一个代表一,一个代表零
  • 循环遍历
    字符串的字符,当
    char==0
    时,递增零计数器。当
    char==1时
    递增“一”计数器
  • 希望这有助于使用:


    幸运的是,java有一个内置方法:Integer.tobinarysting() 这将获取一个整数值,将其转换为二进制,然后将其作为字符串返回


    或者,您也可以学习java技能,并创建自己的方法来实现它

    使用您所知道的任何其他语言,以相同的方式进行操作,并将逻辑封装在类中的
    main()
    。有关如何将int格式化为字符串的信息,请参阅。对“0”或“1”进行计数,并从字符串长度中减去计数。给出答案做得很好。对奥帕维索姆的帮助很大。谁会想到他们已经实施了这个@xgeorgekx回答这个问题做得好吗?谢谢你。@xgeorgekx:除了你的答案,你会否决所有答案吗?真的吗?我没有看到任何建设性的答案。任何人都可以粘贴代码。为什么要转换为
    字符串
    ,而位就在
    int
    中?
    int ones = Integer.bitCount(n);
    int zeros = Integer.bitCount(~n) - Integer.numberOfLeadingZeros(n);