C++ 中的“&”和“>>”数字运算符?

"&" and ">>" number operator in C++?

我正在尝试在 Javascript 中制作一个 raycaster 游戏,为此,我正在关注 this tutorial,它是用 C++ 编写的。

我的问题源于试图将以下两行转换为 javascript:

int tx = (int)(texWidth * (floorX - cellX)) & (texWidth - 1);
color = (color >> 1) & 8355711; // make a bit darker

我不知道这两行中的“&”和“>>”是什么意思。 Javascript中是否有等价物?

>>是右移位运算符,&是按位与运算符,它们都在JavaScript

中可用

代码直接转换为 JS,删除了 (int) 类型转换并将 int 替换为 let/var/const。

let tx = (texWidth * (floorX - cellX)) & (texWidth - 1);    
color = (color >> 1) & 8355711; // make a bit darker 

&是bitwise and,>>是bitshift right,解释的很好here.