小编Man*_*eel的帖子

获取最低位位置的代码如何工作?

unsigned GetLowestBitPos(unsigned value)
{
   double d = value ^ (value - !!value); 
   return (((int*)&d)[1]>>20)-1023; // This is what I really need help understanding. 
}
Run Code Online (Sandbox Code Playgroud)

在我看来,代码将一个double转换为指向整数的指针.我不确定[1]的用途是什么.然后看起来我们向右移位了20位

我将不胜感激任何有关此代码的帮助.我已经用C++编程了一段时间,并且我正在尝试为可编程逻辑控制器(PLC)编写逻辑,以便在可能的情况下执行相同的操作.

谢谢你的帮助

c++ floating-point bit-manipulation

2
推荐指数
1
解决办法
320
查看次数

使用一个滚动条来控制两个DataGridView

我试图控制两个DataGridView,只有一个DataGridView垂直滚动条可见.

c# datagridview scrollbar winforms

0
推荐指数
1
解决办法
3901
查看次数