std::random_device::entropy
STD:随机[医]装置:熵
double entropy() const; | | (since C++11) |
---|
获得随机数设备熵的估计,它是0和log之间的浮点值。
2%28max%28%29+1%29%28,等于std::numeric_limits<unsignedint>::digits29%。如果设备具有n个个体概率为P的状态
0,...,P
N-1,设备熵S定义为.
S=-Σn-1
I=0P
ILOG%28P
I%29
确定性随机数发生器%28例如。伪随机引擎%29的熵为零.
例外
noexcept
规格:
noexcept
返回值
设备熵的值,如果不适用,则为零。
注记
这个功能在一些标准库中没有完全实现。例如,GNU libstdc++和LLVM libc++对于libstdc++,即使设备是不确定的%28,也始终返回零,请参见虫67578%29.相比之下,Microsoft Visual C++实现总是返回32,并且助推,随机返回10。
例
其中一个实现的示例输出。
二次
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::cout << rd.entropy() << '\n';
}
二次
可能的产出:
二次
32
二次
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。