boost-units

    0热度

    1回答

    我想在我的项目中使用Boost.Units。我主要有它的工作,但我想有一个accessor方法,将允许我使用不同的缩放值获取原始值。例如,我想一次获得伏特值,但在另一点上,我需要以毫伏为单位的值。我可以使用conversion_factor方法转换数字。不过,我想提出与具有传入默认比例的存取使用它更方便这里是我的类存取方法,我尝试使用: virtual double get_vm(electric

    0热度

    1回答

    我想在我的转换频率(例如,20kHz)到其周期(50000纳秒)的持续时间使用Boost.Units库。我不想使用浮点。 我遇到的麻烦是简单地采取倒数1/f导致零截断,所以即使在转换到纳秒后结果出来0ns。如果我首先转换为兆赫,然后采取倒数,再次第一步导致零截断。 我发现的一种解决方法是使用boost :: rational作为数量的value_type。这很有效,但它让我觉得很难看。有没有更好的

    0热度

    1回答

    如何序列化类型为electric_potential和double的映射? ? 在我的代码我已经把这些标题: #include <boost/serialization/complex.hpp> #include <boost/serialization/map.hpp> #include <boost/units/physical_dimensions/electric_potential.

    0热度

    1回答

    我有一个非常简单的使用Boost.Unit的用例,但不确定是否有更好/更简单的方法来完成相同的操作。 我想在相同的单位之间转换,但不同的比率。例如,赫兹到千赫兹到兆赫兹。 从我的理解,我首先必须用我的具体比例定义单位: typedef boost::units::make_scaled_unit<si::frequency, scale<10, static_rational<0> > >::ty

    2热度

    1回答

    在我的业务领域,我的数值表示为W.m-2.K-1。 在'基本尺寸的观点来看,这些值被表示为kg.s-3.K-1(W = kg.m2.s-3) 如何实现这个尺寸和这个单位与升压单位? 的唯一的例子,我发现,包括official documentation,大约从碱衍生尺寸尺寸,但我想从“电源”维度来导出,它本身就是一个derived dimension。 另外,我不知道我是否有从权力层面来导出,或者

    1热度

    2回答

    如果我只是想将一个单位的值转换为另一个单位,那么做这件事最简单(理想的是单行)的方法是什么? 例如,我想存储以米为单位的值,但以英里为单位指定它。 这样做的大多数例子似乎是很多行,涉及typedefs和单位定义,并且不提供简单的无单位输出。

    1热度

    1回答

    我想在我的代码中使用boost :: units来定义类型RoundsPerMinute。不过,我并不真正了解如何做到这一点。 我已经通过 using boost::units::si::seconds; typedef boost::units::make_scaled_unit < boost::units::si::time, boost::units::scale<60, boost:

    2热度

    1回答

    假设我想添加29分钟和60秒,并以小时显示结果。 这里,似乎想些: cout << static_cast<quantity<hour_base_unit::unit_type>> (quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds) << endl; 显示在控制台上执行以

    14热度

    1回答

    我正在研究一个软件设计,我想在其中使用Boost.Units。我想使用的一些单位表示时间,但是,由于它们是标准的,我倾向于使用C++ 11 std::chrono单位。 我想知道在Boost.Units和chrono之间是否有任何清洁整合,或者我是否必须通过在类型之间复制标量值来编写我自己的转换器并丢失类型安全性。 有没有这个问题的最佳做法?

    1热度

    1回答

    下面是从另一个question这增加29.0分钟至60.0秒,并且显示结果以小时多的代码: cout << static_cast<quantity<hour_base_unit::unit_type>> (quantity<time>{29.0 * minute_base_unit::unit_type()} + 60.0 * seconds) << endl;