我正在尝试调试一些位移操作,并且我需要在位移操作之前和之后可视化这些位。
我从这个答案中读到我可能需要处理移位的回填,但我不确定这意味着什么。
我认为通过问这个问题(我如何打印 int 中的位),我可以弄清楚回填是什么,也许还有其他一些问题。
到目前为止,这是我的示例代码。
static string GetBits(int num)
{
StringBuilder sb = new StringBuilder();
uint bits = (uint)num;
while (bits!=0)
{
bits >>= 1;
isBitSet = // somehow do an | operation on the first bit.
// I'm unsure if it's possible to handle different data types here
// or if unsafe code and a PTR is needed
if (isBitSet)
sb.Append("1");
else
sb.Append("0");
}
}