objective-C和C --- 《位运算》的使用之二进制颜色的转换

Posted 越自律,越自由!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了objective-C和C --- 《位运算》的使用之二进制颜色的转换相关的知识,希望对你有一定的参考价值。

为UIColor写个分类方法

+ (UIColor *)colorWithBinaryHex:(u_int32_t)hex{
    //0x(hex)0000
    int red = (0xFF0000 & hex) >> 16;     //返回还是hex,在FF的位置上,从左数第5位,也就是2的4次方
    int green = (0x00FF00 & hex) >> 8; //返回还是hex,在FF的位置上
    // hex => 0x 0000AA   => 00001010 1010  //返回还是hex,在FF的位置上,个位上
    // 与上 => 0x 0000FF   => 00001111 1111  => 结果还是:000010101010 =>0x0000AA
    int blue = (0x0000FF & hex);
    return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:1.0];
}

 //调用它

self.view.backgroundColor = [UIColor colorWithBinaryHex:0xFF0000];
//返回结果是红色

 

以上是关于objective-C和C --- 《位运算》的使用之二进制颜色的转换的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C依然占C位,Swift和SwiftUI在iOS 15中的使用情况

将代码从 Objective-C 转换为 Swift 后测试用例失败

Swift 自定义运算符

C语言中位移位运算符?

C语言 位运算

位操作符和位运算