如果没有多大意义,请注意令人困惑的标题。 我对系统和C一般都是新手,所以当涉及到位/字节/十六进制时,我在旁边试图找出它。
我的问题是,如果我有一个字节顺序,请说:
0x01020304我想使用&使用0xFF的逻辑运算符,前者中的哪些字节是比较FF,因为它是一个更短的字节?
我想我记得MSB向右移动,如在FF中,然后在左边用0填充,以便将0与0x010203进行比较,其中FF将与04进行比较。
我是否认为这是正确的,还是以其他方式填写此比较?
答案 0 :(得分:0)
这是一个提示:
0xFF与0x000000FF相同。
所以......
int f1 = 0x01020304; (16909060 in decimal)
int f2 = 0x000000ff; (255 in decimal)
int f3 = f1&f2; (gives us 4 in decimal)
与此代码相同:
int f1 = 0x01020304; (16909060 in decimal)
int f2 = 0xff; (255 in decimal)
int f3 = f1&f2; (gives us 4 in decimal)
希望有所帮助。
换句话说:是的,你的考虑是正确的。