我想查找用户输入的数字是否为2的幂。
我的代码不起作用。
public class power_of_two
{
public static void main(String args[])
{
Scanner in=new Scanner(System.in);
System.out.println("Enter the number : ");
int num = in.nextInt();
int other = 1;
if(((~num) & 1) == 1)
{
System.out.println("The number is a power of two");
}
else
{
System.out.println("The number is a NOT A power of two");
}
}
}
让我知道如何找到两个数的幂。
例如8是2的幂
。22 不是 2的幂,依此类推。
您可以使用以下方法测试正整数n
是否为2的幂
(n & (n - 1)) == 0
如果n
可以是非正数(即负数或零),则应使用
(n > 0) && ((n & (n - 1)) == 0)
如果n
确实是2的幂,那么在二进制中它将看起来像:
10000000...
所以n - 1
看起来像
01111111...
当我们按位进行“与”运算时:
10000000...
& 01111111...
-----------
00000000...
现在,如果n
不是 2的幂,那么它的二进制表示形式除了前导1外还有其他1,这意味着两个n
和n - 1
都具有相同的前导1位(因为减去1可能无法关闭该位二进制表示中的另一个地方有1)。因此,如果不是2的幂,该&
操作将不会产生,因为将和的两个前导位都将自身产生。当然,这是肯定的。0``n``&``n``n - 1``1``n
Wikipedia上的“用于检查正数是否为2的幂的快速算法”中也对此进行了说明。
快速健全性检查:
for (int i = 1; i <= 100; i++) {
if ((i & (i - 1)) == 0)
System.out.println(i);
}
1个
2
4
8
16
32
64
该章节函数包括三角函数及 π 值获取的函数等。 6.1 acos 函数 函数作用:计算反余弦(余弦的倒数)函数。 返回以弧度为单位的数字,例如 0 到 π 之间的数字。 参数:number 从[-1,1]间隔开始的浮点数。 返回值: number 语法: acos(number) => value 输入代码 .animation { rotate: acos(0.540302305868139
问题内容: 我有一个由基本数学函数(abs,cosh,sinh,exp,…)组合定义的函数。 我不知道是否有差别(速度)来使用,例如, 而不是? 问题答案: 计时结果如下: 比它还处理Numpy数组要慢:它包含提供这种灵活性的其他代码。 但是,Numpy在数组 上的 速度很快: (PS:在python 2.7中比慢于慢,后者快约30%,但仍然比NumPy慢得多。) 因此,对于1000个元素而言,花
问题内容: 我正在尝试制作一个程序来检查单词是否是回文,并且到目前为止,它可以与具有偶数个数字的单词一起使用。我知道如果字母的数量为奇数时如何使它起作用,但是我只是不知道如何确定数字是否为奇数。有什么简单的方法可以找到数字是奇数还是偶数? 仅供参考,这是我的代码: 谢谢 问题答案: if num % 2 == 0: pass # Even else: pass # Odd 该符号就像除法一样,仅检
问题内容: 我正在尝试查看int是否具有相同数字的倍数。尝试不使用字符串方法或数组。我遇到的主要方法是。当重复数字位于末尾时有效,但当它们位于开始或中间时无效。 } 如果运行此命令,您将看到‘2’重复出现,但该方法仍会评估其应为的时间。 问题答案: 这是一个简短而甜蜜的版本:) 它的工作方式非常简单。是一个整数,用于存储已经遇到的数字(由于十进制系统编号只有10位,而整数给出16位,因此我们有足够
检查给定的参数是否是一个函数。 使用 typeof 来检查一个值是否为一个函数。 const isFunction = val => typeof val === 'function'; isFunction('x'); // false isFunction(x => x); // true
问题内容: 我知道,在Python中通常不赞成使用类型检查函数参数,但我认为这样做很有意义。 在我的项目中,我有一个抽象基类和一个子类,该子类具有更多功能,例如旋转,幅度变化等。数字的列表和元组也将返回True,因为我也有许多接受这些Coord类型作为参数的函数和方法。 。我已经设置了装饰器来检查这些方法的参数。这是一个简化的版本: 这个版本非常简单,仍然有一些错误。只是为了说明这一点。它的用法如