如果两者都给出相同的结果,我应该更喜欢加法或逻辑运算符吗?

hkB*_*sai 1 c++ logic operators addition or-operator

如果两者都给出相同的结果,我应该更喜欢+(加法)运算符还是|(或)运算符?

我知道添加和逻辑OR是不同的东西.但它们有时会在某些宏中执行相同的操作,尤其是在使用字节和位时.在这种情况下我应该选择哪一个?

例:

uint8_t Byte1 = 0x02;   // 0000 0010
uint8_t Byte2 = 0x80;   // 1000 0000
uint16_t Word1, Word2;  // 0000 0010 1000 0000 = 640 = 0x0280

Word1 = (Byte1 << 8) + Byte2;
Word2 = (Byte1 << 8) | Byte2;

std::cout << "Word1 = " << Word1 << std::endl;
std::cout << "Word2 = " << Word2 << std::endl;
Run Code Online (Sandbox Code Playgroud)

输出:

Word1 = 640
Word2 = 640

Pet*_*ker 6

在操作位模式时,逻辑运算符是合适的.在操作数值时,算术运算符是合适的.