0

在哪里

val = 3325
val &= 65535;


[rtnData appendData:[[NSString stringWithFormat:@"%x", val] dataUsingEncoding:NSUTF8StringEncoding]];

我期待 <30434644> 0CFD

但得到 <636664> cfd

所以要么 3325 不是正确的开始 val(但我是从 2 个不同的函数派生出来的),要么按位加法是错误的。

提前致谢。

4

1 回答 1

1

&是按位“和”,而不是按位加法。

并且代码是错误的,因为您使用了错误的格式。使用@"%04X"而不是@"%x". (如果不够长,0 = 用 0 填充, 4 = 至少 4 个字符,X = 大写十六进制)

于 2011-04-20T15:14:52.397 回答