Fra*_*k V 4 c endianness bitwise-operators
这与家庭作业有关,但这不是家庭作业.
我有困难的理解,如果有就如何按位取反(差别~
在C)将受到影响signed int
,并unsigned int
当大端机器上对小端机编译.
字节是否真的 "向后",如果是,那么按位(和其他运算符)会导致int
根据机器类型产生不同的结果吗?
虽然我们在这里,对于C中的每个按位运算符,答案是否相同,或者它是否依赖于它?
我所指的运营商是:
~ /* bitwise Not */
& /* bitwise And */
| /* bitwise Or */
^ /* bitwise Exclusive-Or */
Run Code Online (Sandbox Code Playgroud)
先感谢您!
更新:到目前为止,在阅读我的回复时,我觉得有必要问一下bitwise not运算符是否会影响a上的符号位signed int
.因为我忘记了所有那些狡猾的事情,所以我担心我在这方面有点困惑.亚当似乎在说所有的价值都被视为无符号.重新应用符号位还是一次签名的值变为无符号?
按位运算符和逻辑运算符在大端和小端机器中的运行方式相同.同样,它们也在有符号和无符号数据上运行相同:结果就好像所有内容都是无符号的一样.因此,如果x
和y
是有符号整数,那么~x
等于(int)(~((unsigned int)x)
和x & y
等于(int)(((unsigned int)x) & ((unsigned int)y)
,等等所有其他运算符.
归档时间: |
|
查看次数: |
19416 次 |
最近记录: |