Dan*_*her 4 c++ arrays indexing
我试图准确理解在使用float值索引数组时会发生什么.
此链接:Float Values作为C++中Array的索引
不回答我的问题,因为它声明浮点数应舍入为整数.但是在我试图评估的代码中,这个答案没有意义,因为索引值只能是0或1.
我正在尝试解决任天堂发布的编码挑战.为了解决这个问题,有一个古老的语句,它使用一个长复杂的按位表达式对数组进行逐位赋值.
该数组被声明为指针
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;
}
Run Code Online (Sandbox Code Playgroud)
这是声明的开头.
b[(i + j) / 32] ^= // some crazy bitwise expression
以上内容位于嵌套for循环内部.
我在这里节省了很多代码,因为我想尽可能多地解决这个问题.但我想知道是否有一种情况你想要迭代这样的数组.
它必须比浮动只是自动转换为int更多.这里有更多的事情要发生.
小智 8
这里没有float.size是整数,并且16是整数,因此size/16也是整数.
整数除法向零舍入,所以如果size在[0,16),那么size/16 == 0.如果size是[16,32),那么size/16 == 1,依此类推.如果size是(-16, 0],那么size / 16 == 0也是.
([x,y)是从"半开"间隔x到y:即,它包含之间的每个数字x和y,此外,它包括x,但不包括y)
| 归档时间: |
|
| 查看次数: |
682 次 |
| 最近记录: |