2011-04-20 48 views
0

objC按位加

val = 3325 
val &= 65535; 


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

我期待< 30434644> 0CFD

但得到< 636664> CFD

因此,无论3325是不正确的开始VAL(但我得到的是从2个不同的功能)或按位添加是错误的。

在此先感谢。

回答

1

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

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

+0

感谢%04X确实起作用 - 拍击前额 - I所识别的问题,但忽略了格式。 – 2011-04-20 15:31:29