美文网首页iOS开发
swift高级运算符16进制的与运算

swift高级运算符16进制的与运算

作者: qiulibi | 来源:发表于2017-06-29 14:51 被阅读8次

最近刚学了swift的高级运算,但是开始对于看到例子中对16进制的的运算是看着一头雾水。

后来我在想一般的与运算是通过二进制运算,那16进制的估计也是通过二进制转换得到的结果。后来进过验算,发现一个规律,他不是直接将16进制转成二进制,因为根本就存储不下,而是通过每个位数的16进制转成二进制,比如说CC6699,转成二进制进行运算是应该是如下(注意:16进制的需要用4位二进制,所以不足4位的用0补齐): 

1100  1100  0110  0110  1001  1001

所以在swift中讲到的高级运算符中的一个例子中,

let pink:UInt32=0xCC6699

let redComponent = (pink &0xFF0000) >>16

那么0xCC6699和0xFF0000进行按位与运算就可以转成如下两个进行与运算:

1100  1100  0110  0110  1001  1001 

1111  1111  0000  0000  0000  0000

得到的结果应该为:

1100  1100  0000  0000  0000  0000

再将其转成16进制,即为:CC0000

与swift中的列子结果相符。

此算法要是有什么不正确的说法,欢迎大家指正,这只是个人的理解~

相关文章

  • swift高级运算符16进制的与运算

    最近刚学了swift的高级运算,但是开始对于看到例子中对16进制的的运算是看着一头雾水。 后来我在想一般的与运算是...

  • 27、【Swift】高级运算符 - Advanced Opera

    Swift 运算符基本运算符高级运算符(包括 C 或 Objective-C 所有按位和移位运算符。) 与 C 的...

  • 第二十四节 Swift 高级运算符

    除了加减乘除运算符,常用的位运算符在 Swift里属于高级运算符。 其它的高级运算符还有移位运算符和溢出加法运算符...

  • 26_高级运算符

    除了基本运算符,Swift 中还有许多可以对数值进行复杂运算的高级运算符。这些高级运算符包含了在位运算符和移位运算...

  • Swift编程二十八(高级运算符)

    案例代码下载 高级运算符 除了基本运算符中描述的运算符之外,Swift还提供了几个执行更复杂值操作的高级运算符。这...

  • swift2.2 - 高级运算符

    高级运算符 文档地址 作为 基本运算符 的补充,Swift 提供了几个高级运算符执行对数传值进行更加复杂的操作。这...

  • -128补码10000000

    最近在学Swift, 在学到高级运算符的时候, 用到了位运算, 然后发现自己把计算机基础的进制忘的差不多了. 在这...

  • 26 高级运算符

    高级运算符 除了Basic Operators中描述的基本运算符之外,Swift还提供了几个执行更复杂值操作的高级...

  • 运算符

    算术运算符 赋值运算符 比较运算符 逻辑运算符 位(bit)运算 二进制: 八进制: 十六进制 进制运算有反码 补...

  • Swift基础13

    高级运算符 与c语言中的算术运算符不同,Swift中的算术运算符默认是不会溢出的。所以溢出行为都会被捕获并报告为错...

网友评论

    本文标题:swift高级运算符16进制的与运算

    本文链接:https://www.haomeiwen.com/subject/xpemcxtx.html