我创建了一个虚拟环境;假设 test_venv,我激活它。一切成功。
然而,Python 解释器的路径不会改变。我已经在下面说明了这种情况。
为了澄清起见,python 路径应该是~/Desktop/test_venv/bin/python.
>>> python3 -m venv Desktop/test_venv
>>> source Desktop/test_venv/bin/activate
(test_venv) >>> which python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud) 我知道。我知道。这个问题之前已经回答过,但我有一个稍微不同且更具体的问题。
正如标题所示,我的目标是浮动序列cout。32 bits
前面的问题提供的解决方案是使用联合。
union ufloat{
float f;
uint32_t u;
};
Run Code Online (Sandbox Code Playgroud)
这一切都很好。我已经成功地打印了浮点数的位。
union ufloat uf;
uf.f = numeric_limits<float>::max();
cout << bitset<32>(uf.f) << "\n"; // This give me 0x00000000, which is wrong.
cout << bitset<32>(uf.u) << "\n"; // This give me the correct bit sequence.
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么 dobitset<32>(uf.f)不起作用,但 bitset<32>(uf.u) 起作用?
这个问题的绿色勾号答案 获取了 C 中浮点数的位表示说了一些关于“类型双关”的内容,我认为它与此有关。但我不确定具体如何。
有人可以澄清一下吗?谢谢