C语言简单语句问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:54:10
return (A<<8 | B);
第1:程序是怎么走?
第二:结果是什么?在线等

A65化为00110101,B66化00110110,A先左移8位得00000000,再和B或运算得00110110得B

“<<”的优先级比“|”高,所以先对A进行左移8位运算再与B进行按位与!

你没有告诉我A和B的值,所以结果你自己应该算得出来!这是个返回语句,返回的实际就是表达式的值!

<<(左移运算符),优先级高于l(按位或运算符),先执行变量a左移8位(是二进制数移位),再算(l)

程序时:把A左移8位, 再和B按位或运算,(|:如果操作数中有一个1则结果为1)