0
我有一個64位的設備上運行下面的代碼:將CGFloat設置爲double是否安全?
CGFloat myFloat = 123.45f;
CGFloat myDouble = 123.45;
跨32位和64位器件這樣安全嗎?由於CGFloat根據處理器體系結構更改大小,給定的變量是否會在兩個平臺上包含接近123.45
的值,或者是否會由於位錯誤放置而導致它們炸燬?
這兩件事情能發生嗎?
在64位:
myFloat == 0x0000000042F6E666 == 5.5507143600000000e-315
myDouble == 0x405EDCCCCCCCCCCD == 123.45
在32位:
myFloat == 0x42F6E666 == 123.45
myDouble == 0xCCCCCCCD == -1.0737418e8
現在,我還沒有在場上看到了這一點尚未...它派生我的其他問題: 爲什麼我在現場看不到這個問題?