2011-04-20 28 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