ope*_*rog 10 c iphone objective-c ios
我正在尝试编写一个接收十六进制值的方法,例如0xD2691E为了返回UIColor对象.
我发现这个宏我想转换成一个方法,但我不知道如何指定除以外的数据类型void *.
#define UIColorFromRGB(rgbValue) [UIColor \
colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \
green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \
blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
//Then use any Hex value
self.view.backgroundColor = UIColorFromRGB(0xD2691E);
Run Code Online (Sandbox Code Playgroud)
md5*_*md5 12
十六进制值的数据类型是什么样的
0xD2691E?
根据C标准,十六进制常量的类型是此列表中可以表示其值的第一个:
C11(n1570),§6.4.4.1整数常数
Run Code Online (Sandbox Code Playgroud)int unsigned int long int unsigned long int long long int unsigned long long int
由于D2691E(b16)等于13789470(b10),因此常量的类型取决于您的实现.
C标准只保证INT_MAX >= +32767,而LONG_MAX >= +2147483647.
C11(n1570),5.2.4.2.1整数类型的大小
INT_MAX +32767LONG_MAX +2147483647
因此,(unsigned) long int可能是一个合适的选择.
| 归档时间: |
|
| 查看次数: |
4086 次 |
| 最近记录: |