objC 按位相加
我期待
val = 3325
val &= 65535;
[rtnData appendData:[[NSString stringWithFormat:@"%x", val] dataUsingEncoding:NSUTF8StringEncoding]];
<30434644> 0CFD
但得到 <636664> cfd
因此,要么 3325 不是正确的起始 val(但我从 2 个不同的函数导出它),要么按位加法是错误的。
提前致谢。
Where
val = 3325
val &= 65535;
[rtnData appendData:[[NSString stringWithFormat:@"%x", val] dataUsingEncoding:NSUTF8StringEncoding]];
I am expecting <30434644> 0CFD
but getting <636664> cfd
So either 3325 is not the correct beginning val (but I have derived it from 2 different functions) or the bitwise addition is wrong.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
&
是按位“与”,而不是按位加法。并且代码是错误的,因为您使用了错误的格式。使用
@"%04X"
而不是@"%x"
。 (其中 0 = 如果不够长则用 0 填充,4 = 至少 4 个字符,X = 大写十六进制)&
is bitwise "and", not bitwise-addition.And the code is wrong because you have used the wrong format. Use
@"%04X"
instead of@"%x"
. (where 0 = pad with 0 if not long enough, 4 = at least 4 characters, X = upper case hexadecimal)