以下伪和 JavaScript 代码是算法实现的摘录,我想将其转换为 C++。
伪代码:
for b from 0 to 2|R| do
for i from 0 to |R| do
if BIT-AT(b, i) = 1 then // b’s bit at index i
JavaScript 代码:
for (var b = 0; b < Math.pow(2, orders[r].length); b++) // use b's bits for directions
{
for (var i = 0; i < orders[r].length; i++)
{
if (((b >> i) & 1) == 1) { // is b's bit at index i on?
我不明白这段代码的最后一行发生了什么,上面给出的 JavaScript 代码的 C++ 代码应该是什么。到目前为止,我写的是:
for (int b = 0; b < pow(2, orders.at(r).size()); b++)
{
for (int i = 0; i < orders.at(r).size(); i++)
{
if (((b >> i) & 1) == 1)***//This line is not doing what it is supposed to do according to pseudo code***
最后一行是给我分段错误。
- 编辑:我很抱歉问题出在其他地方,此代码工作正常。