gpt4 book ai didi

iphone - 像 0xD2691E 这样的十六进制值的数据类型是什么?

转载 作者:技术小花猫 更新时间:2023-10-29 11:01:52 38 4
gpt4 key购买 nike

为了返回 UIColor 对象,我正在尝试编写一个接受十六进制值(例如 0xD2691E)的方法。

found this macro我想将其转换为方法,但我不知道如何指定 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);

最佳答案

What is the data type of a hex value like 0xD2691E?

根据 C 标准,十六进制常量的类型是该列表中第一个可以表示其值的类型:

C11 (n1570), § 6.4.4.1 Integer constants

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 Sizes of integer types

  • INT_MAX +32767
  • LONG_MAX +2147483647

因此,(unsigned) long int 可能是一个合适的选择。

关于iphone - 像 0xD2691E 这样的十六进制值的数据类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15925276/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com