C++ 如何用指数声明定义

C++ 如何用指数声明定义,c++,ios,c-preprocessor,pow,exponential,C++,Ios,C Preprocessor,Pow,Exponential,我正在尝试创建以下定义,我的源代码在iOS应用程序和C++ARM固件之间共享 #define ASSIGN_MIN_VAL_NB_BITS 7 #define ASSIGN_MIN_VAL_BIT_POS 1 #define ASSIGN_MIN_VAL_BIT_MASK (((2^ASSIGN_MIN_VAL_NB_BITS)-1)<<ASSIGN_MIN_VAL_BIT_POS) #定义分配_MIN _VAL _NB_位7 #定义分配\最小值\位\位

我正在尝试创建以下定义,我的源代码在iOS应用程序和C++ARM固件之间共享

#define ASSIGN_MIN_VAL_NB_BITS      7
#define ASSIGN_MIN_VAL_BIT_POS      1
#define ASSIGN_MIN_VAL_BIT_MASK     (((2^ASSIGN_MIN_VAL_NB_BITS)-1)<<ASSIGN_MIN_VAL_BIT_POS)
#定义分配_MIN _VAL _NB_位7
#定义分配\最小值\位\位置1
#定义分配最小值位掩码((2^分配最小值位位)-1)
  • 对于C++中的常量,不要使用
    #define
    ,而要使用
    const
    变量

  • ^
    是按位异或,而不是幂运算。
    2到x的幂
    可以表示为
    1
    
  • 对于C++中的常量,不要使用
    #define
    ,而要使用
    const
    变量

  • ^
    是按位异或,而不是幂运算。
    2到x的幂
    可以表示为
    1
    
    ((1 << ASSIGN_MIN_VAL_NB_BITS) - 1) << ASSIGN_MIN_VAL_BIT_POS