运算符问题

发布网友 发布时间:2022-04-25 23:03

我来回答

4个回答

热心网友 时间:2023-05-04 06:15

这是由于运算符的优先级造成的,为了便于理解,通常可加括号显式表现优先关系,在这里
b=~a>>4 1
相当于
b=~(a>>(4 1))

注:因为手机知道bug,"加号"可能无法显示追问你这样就把,,本来的优先级顺序都改变了啊

追答可以改变,但没有改变,例如
2+3*4=2+(3*4)
这么多是为了更加明白的表现其优先关系,增加可读性

热心网友 时间:2023-05-04 06:15

运算具有优先级~~~追问能具体的解释一下嘛,,,,理论上我不管怎么推都应该是2,,,看生成的汇编代码,又看不懂~~求解释

追答char是字符串,把char改成int 在运行一下~~~

热心网友 时间:2023-05-04 06:16

这牵扯到操作符优先级的问题,移位运算在算术运算后面,所以先执行4+1=5,然后再移位,再取反。追问是啊,,在这里面取反~的优先级最高,其次是算术运算符,再才是移位。。。。。

热心网友 时间:2023-05-04 06:17

这里比较的是ASCII码,
在计算机里一切的内容都是0和1,
所以一切东西都是用数字来表示的,
比如内码0表示字符串结束,13表示回车,A是65,a是97
具体看这个表格:
http://www.weste.net/tools/ascii.asp

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com