class PrintPowersOf2 {
public static void main (String[] args) {
printPowersOf2(10);
printPowersOf2(5);
printPowersOf2(2);
printPowersOf2(-5);
printPowersOf2(30);
printPowersOf2(32);
}
public static void printPowersOf2 (int x) {
for(int i=0;i<x+1;i++) {
int y = exponent (i);
System.out.print(y);
if(!(i == x)) {
System.out.print(" ");
}
}
System.out.println();
}
static int exponent(int power) {
int output = 1;
for (int z=0; z<power; z++)
output *= 2;
return output;
}
}
1 2 4 8 16 32 64 128 256 512 1024
1 2 4 8 16 32
1 2 4
1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824
1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 -2147483648 0
int
用32位表示。因此,可以表示-2^31
和2^31-1
之间的任何值。没有超出这个范围的。
您可以使用long
(64位)或biginteger
(datastructures,可以表示内存限制内的所有数字)。
使用这些结构(尤其是BigInteger
)的缺点是,CPU并不总是提供算术指令。因此,添加两个BigInteger
实例需要比使用int
或long
更多的时间。在长
的情况下,如果CPU是32位的,则至少需要两条指令来处理它。
long value = 0x01L << power;//power of two, all in one simple instruction.
0001 1011 << 2
= 0110 1100
问题内容: 我正在编写一个Java程序来输出2的指数幂(顺便说一句,我不能使用),但是在2 ^ 31和2 ^ 32处我得到了其他东西。另外,我不打算接受负整数。 我的代码: 我得到的输出是: 问题答案: An 用32位表示。因此,可以表示和之间的任何值。没有什么超出这个范围。 您可以使用(64位)或(可以表示直到内存限制的所有数字的数据结构)。 使用这些结构的缺点(尤其是)是CPU并不总是提供算术
我需要以这样的方式使用两个循环:外循环驱动内循环进行2、4、8、16和32次迭代的计算。 例如,如果i=2(对于外循环),则内循环将迭代4次 如果i=3,则内部循环将迭代8次,依此类推。 这就是我使用的逻辑 如果有任何建议,我将不胜感激
错误:C:\用户\Aidan\Anaconda3\lib\site-包\sepy\优化\minpack.py:794: OptimizeWarning:参数的协方差无法估计 类别=OptimizeWarning) ---------------------------------------------------------------------------()14 plt中的TypeErro
对朱莉娅来说是新来的,所以这可能很容易。 我有一个n×m的数组和一个长度为n的向量,我想在向量的对应元素中重复数组的每一行的次数。例如: 结果应该是6乘6的数组。我尝试了功能,但是 生成一个数组,因此需要作为重复元素的维度。在matlab中,我会使用,我希望julia提供类似的东西。我的实际矩阵要大得多,我需要多次调用该函数,所以这个操作需要尽可能快。
在编程时,我注意到math.exp(2)和math.e**2的结果之间存在差异。如下所示,在计算e^1时不会出现这种差异。 我不是一个有经验的程序员,我想知道为什么这不一样?我想这和围捕有关。python文档说返回,但这似乎并不完全正确。那么为什么操作与不同呢?
你能解释一下第一行最后一个false输出,为什么它不是真的吗?