iOS基本数据类型所占内存大小

1、在swift中基本的数据类型都有哪些?

Float、CGFloat、Double、float_t、Float32、Float64、Float80、double_t

Int、int_fast8_t、int_fast16_t、int_fast32_t、int_fast64_t、intmax_t、NSInteger、NSNumber、CLong、CC_LONG

CChar、CChar16


2、这些基本类型在内存中所占的字节数分别为:

------->>>>>Float类型的sizeof---->>>>4
------->>>>>CGFloat类型的sizeof---->>>>8
------->>>>>Double类型的sizeof---->>>>8
------->>>>>Int类型的sizeof---->>>>8
------->>>>>int_fast8_t类型的sizeof---->>>>1
------->>>>>int_fast16_t类型的sizeof---->>>>2
------->>>>>int_fast32_t类型的sizeof---->>>>4
------->>>>>int_fast64_t类型的sizeof---->>>>8
------->>>>>intmax_t类型的sizeof---->>>>8
------->>>>>NSInteger类型的sizeof---->>>>8
------->>>>>NSNumber类型的sizeof---->>>>8
------->>>>>float_t类型的sizeof---->>>>4
------->>>>>Float32类型的sizeof---->>>>4
------->>>>>Float64类型的sizeof---->>>>8
------->>>>>Float80类型的sizeof---->>>>16
------->>>>>double_t类型的sizeof---->>>>8
------->>>>>CLong类型的sizeof---->>>>8
------->>>>>CC_LONG类型的sizeof---->>>>4
------->>>>>CChar16类型的sizeof---->>>>2
------->>>>>CChar类型的sizeof---->>>>1


3、举一个栗子

Float类型占4字节,也就是32位二进制。取值范围为正负2^31(2的31次方)--2147483648~2147483647

let tempStr = "2147483648"
            printInfo("字符串转换float", obj2: Float.init(tempStr))
            printInfo("字符串转Double", obj2: Double.init(tempStr))

------->>>>>字符串转换float---->>>>Optional(2.14748301e+09)
------->>>>>字符串转Double---->>>>Optional(2147483000.0)
可见当Float不够用的时候要使用Double进行显示。


你可能感兴趣的:(iOS基本数据类型所占内存大小)