c++数值52,截断,弹出计数,中点,二项分布

原创
2021/04/02 18:16
阅读数 122
#包含 <c数学>
#包含 <io流>
()
{
输出 << 固定
<< "截断(+2.7) = " <<::截断(+2.7) << '\n'
<< "截断(-2.9) = " <<::截断(-2.9) << '\n'
<< "截断(-0.0) = " <<::截断(-0.0) << '\n'
<< "截断(-无穷) = " <<::截断(-无穷) << '\n';
}
截断(+2.7) = 2.000000
截断(-2.9) = -2.000000
截断(-0.0) = -0.000000
截断(-无穷) = -无穷


#包含 <位>
#包含 <位集>
#包含 <c标整>
#包含 <初化列表>
#包含 <io流>

()
{
(正8_t i : { 0, 0b11111111, 0b00011101 }) {
输出 << "弹出计数(0b" << 位集<8>(i) << ") = "
<<::弹出计数(i) << '\n';
}
}
弹出计数(0b00000000) = 0
弹出计数(0b11111111) = 8

弹出计数(0b00011101) = 4

#包含 <c标整>
#包含 <限制>
#包含 <数值>
#包含 <io流>

()
{
正32_t a = 数值极限<正32_t>::最大();
正32_t b = 数值极限<正32_t>::最大() - 2;

输出 << "a: " << a << '\n'
<< "b: " << b << '\n'
<< "错误 (溢出 和 包装): " << (a + b) / 2 << '\n'
<< "正确: " <<::中点(a, b) << '\n';
}
a: 4294967295
b: 4294967293
错误 (溢出 和 包装): 2147483646

正确: 4294967294

#包含 <io流>
#包含 <io操作>
#包含 <串>
#包含 <映射>
#包含 <随机>

()
{
随机设备 读;
mt19937 生成(());
// 进行 4 次试验,平均 2 次中成功 1 次
::二项分布<> d(4, 0.5);

映射<, > 历史;
( n = 0; n < 10000; ++n) {
++历史[d(生成)];
}
( p : 历史) {
输出 << p.第一 << ' '
<<(p.第二/100, '*') << '\n';
}
}
0 ******
1 ************************
2 *************************************
3 *************************
4 ******



本文分享自微信公众号 - 周三石(gh_6eecda59ada1)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
c++
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部