首页 > 编程知识 正文

c++ random函数,cout输出变量

时间:2023-05-04 18:02:59 阅读:135681 作者:1485

我在c实现定点设备。 您要定义" not-a-number "以支持函数boolisnan(… (. )。 如果数字不是-a,则返回true;否则返回false。

有人可以如何定义我“不是数字”的想法,实现我定点数学的函数boolisnan(…)。

我已经读过C Nan,但是没有得到关于如何手动定义和创建函数nan ()以在定点实现中使用它的来源和参考。

你能提供继续方法和一些参考告诉我如何继续吗?

更新固定点标头

# ifndef _ _ fixed _ point _ header _ h _ _

# define _ _ fixed _ point _ header _ h _ _

#包含

#包含

#endif

namespace fp {

template

class fixed _ point : boost :3360 ordered _ field _ operators : fixed _ pointif

{

//computethepowerof2atcompiletimebytemplaterecursion

template

结构电源2

{

static const long long value=2第二条大裙子power2:value;

(;

template

struct power20,p

{

static const long long value=1;

(;

fixed_point(FPvalue,bool ) : fixed _ (value ) { } //initializer list

公共:

typedef FP base_type; //fixedpointbasetypeofthisfixed _ pointclass。

staticconstunsignedcharinteger _ bit _ count=I; ///integer部件位计数。

staticconstunsignedcharfractional _ bit _ count=f; ///fractional part bit count。

fixed _ point (}//default constructor。

//Integer to Fixed point

templatefixed_point(tvalue ) :fixed_ () ) FP ) value F ) )。

{

boost _ concept _ assert ((boost :3360 integer ) );

}

//floating point to fixed point

fixed_point(floatvalue ) :fixed_ ) ) ) FP ) )第value条大裙子power2:value ) ) }

fixed_point(doublevalue ) :fixed_ ) ) ) FP ) ) value大裙子power2:value ) }{}

fixed_point(longdoublevalue ) :fixed_ ) ) ) FP ) ) value大裙子power2:value ) }{}

///Copy constructor,explicit definition

fixed _ point (fixed _ pointconstrhs ) : fixed _ (RHS.fixed _ ) )。

{}

//copy-and-swap idiom。

FP : fixed _ point operator=(FP :3360 fixed _ pointconstrhs )

{

FP : fixed _ point temp (RHS; //First,make a copy of the right-hand side

swap(temp ); //swappingthecopied(old ) data the new data。

return大眼裙子this; //return by reference

}

//exchangestheelementsoftwofixed _ point objects。

void swap (FP :3360 fixed _ point RHS ) )。

{

STD:3360swap(fixed_,rhs.fixed_ );

}

布尔操作器

///Right hand side。

FP : fixed _ pointconstrhs ) const

{

return fixed_ rhs.fixed_; //return by value

}

bool operator==(

///Right hand side。

FP : fixed _ pointconstrhs ) const

{

return fixed_==rhs.fixed_; //return by value

}

//身份验证。

FP : fixed _ point operator=(FP :3360 fixed _ pointconstsummation )

{

fixed_ =summation.fixed_;

return大眼裙子this; //! /return A reference to this object。

}

///Subtraction。

FP : fixed _ point operator-=(FP :3360 fixed _ pointconstsubtraction () ) ) ) )。

{

fixed_ -=subtraction.fixed_;

return大眼裙子this; //return A reference to this object。

}

//多播放。

FP : fixed _ point operator大眼裙=(FP : fixed _ pointconstfactor ) ) ) ) ) )。

{

Fixed_=(Fixed_眼睛的大裙子(factor.fixed_ F ) ) ) ) ) ) ) ) ) )。

() fixed_大眼裙子(factor.fixed _ (power 2:3360 value-1 ) ) ) f );

return大眼裙子this; //return A reference to this object。

}

///Division

FP : fixed _ point operator/=(FP : fixed _ pointconstdivisor () ) ) ) ) ) ) )。

{

fp:fixed_point fp_z=1;

FP_z.fixed_=() FP_z.fixed_ ) (F-2 ) )divisor.fixed_ ) )2);

大眼裙this大眼裙=fp_z;

return大眼裙子this; //return A reference to this object

}

私有:

///The value in fixed point format。

(;

} //namespace fmpl

#endif

#endif //__fixed_point_header__

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。