我试图理解通过浮点数值索引数组时会发生什么。这个链接:Float Values as an index in an Array in C++并没有回答我的问题,因为它指出浮点数应该舍入为整数。然而,在我正在评估的代码中,这个答案并没有意义,因为索引值只可能是0或1。
我试图解决Nintendo发布的编程挑战。为了解决问题,有一个古老的语句使用一个长而复杂的位运算表达式将位赋值到一个数组中。该数组被声明为指针:
我试图解决Nintendo发布的编程挑战。为了解决问题,有一个古老的语句使用一个长而复杂的位运算表达式将位赋值到一个数组中。该数组被声明为指针:
unsigned int* b = new unsigned int[size / 16]; // <- output tab
然后将0分配给每个元素。for (int i = 0; i < size / 16; i++) { // Write size / 16 zeros to b
b[i] = 0;
}
以下是该声明的开头:
b[(i + j) / 32] ^= // 一些疯狂的位运算表达式
上述代码块位于嵌套的for循环中。
我这里省略了很多代码,因为我想尽可能自己解决这个问题。但我想知道是否有一种情况需要像这样遍历数组。
肯定不只是浮点数自动转换为整数。这里肯定涉及到更多的内容。
int / 16
仍然是一个int
,而不是一个float
。 - Jarod42