当前位置: 首页 > 面试题库 >

找出代表二进制正整数所需的位数吗?

谢志文
2023-03-14
问题内容

这可能很基本,但是要让我节省一个小时左右的痛苦,谁能告诉我如何计算出表示Java中给定正整数所需的位数?

例如,我得到一个十进制的11(1011)。我需要得到答案,4。

我想出了如何将除最高有效位以外的所有位都设置为0,然后>>>的方法,我得到了答案。但是,我不能。


问题答案:

好吧,您可以算一下在左移为零之前向右移位的次数:

int value = 11;
int count = 0;
while (value > 0) {
    count++;
    value = value >> 1;
}


 类似资料:
  • 我在c编程方面是个新手,我正试图弄清楚更多关于位的知识,二进制E.c.T 例如,我有三个二进制int变量m1=255或11111111;m2=255或11111111(二进制),m3=255或11111111(二进制),m4=0或00000000(二进制)。我试图把所有的主题放在一起到单一的int变量temp。类似于(11111111 11111111 1111111100000000)这里是我的

  • 问题内容: 我有一个二进制数组,我想将其转换为整数列表,其中每个int是该数组的一行。 例如: 我想转换成。 问题答案: 我曾经在这里问过类似的问题。这是我的回答,适合您的问题:

  • 问题内容: 请帮我了解负整数的二进制表示形式。 例如,我们有5。5的二进制表示是。 而且据我了解,-5的二进制表示应该像。 但是输出是。 我有2个问题: 1)为什么这里有这么多位。 2)我真正无法理解的是最后3位。看起来像。即使是+1或-1这将是或 谢谢 问题答案: 您对这些负数应该是什么样的理解是有缺陷的。Java对负数使用二进制补码,而基本规则是取正数,将所有位取反然后加1。那给你带来负面影响

  • 本文向大家介绍python实现整数的二进制循环移位,包括了python实现整数的二进制循环移位的使用技巧和注意事项,需要的朋友参考一下 题目:如何在python中实现整数的二进制循环移位? 概述 在python中,可以通过<<以及>>运算符实现二进制的左移位以及右移位,然而并没有实现循环移位的运算符,暂时也找不到可以实现循环移位的函数,所以在本文中,主要介绍了如何使用字符的切片运算实现循环位移。

  • 在过去的一周里,我一直在努力解决这个问题,似乎我最终无法解决它。给定任意64位无符号整数,如果它在任何位位置、任何位设置下包含31(0b11111)的二进制模式,则该数字有效,否则无效。 例如: 0000 0000 0000 0000 0000 0001 1111有效 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

  • 问题内容: 我知道用和 将小数转换为二进制(在这里我取32位结果的低16位)。 我想做的是另一种方法,并采用16位二进制补码二进制字符串并将其转换为十进制。 即 而不是 我该怎么做? 问题答案: 您需要将结果读取到中。 此打印。