iOS底层学习17 -- isa相关知识



整数加感叹号,就会变成bool类型

位运算符

A = 0011 1100 B = 0000 1101






1<<4 意思就是0b 0000 0001 把1往左移4位,变为0b 0001 0000





1) 二进制
二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头,例如:
int a = 0b101;  //换算成十进制为 5
int b = -0b110010;  //换算成十进制为 -50
int c = 0B100001;  //换算成十进制为 33
2) 八进制
八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如://合法的八进制数
int a = 015;  //换算成十进制为 13
int b = -0101;  //换算成十进制为 -65
int c = 0177777;  //换算成十进制为 65535
3) 十六进制
十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,例如:
//合法的十六进制
int a = 0X2A;  //换算成十进制为 42
int b = -0XA0;  //换算成十进制为 -160
int c = 0xffff;  //换算成十进制为 65535




:1相当于用二进制的一位来代表这个信息 :33相当于用二进制的33位来代表这个信息,注意是位,不是字节。我们都知道一个字节是8位


&,你想取一个数的哪一位,就写一个二进制数,就把那一位置为1,其他位置为0,然后和它与一下,就取出来了
!5会变为0   ---  !0会变为1  用!取反,会自动变为bool类型
掩码是用来取值的

<< >> 就是拿左边的数字对应的二进制数字,像左或者像右移动几位




结构体的声明














你可能感兴趣的:(iOS底层学习17 -- isa相关知识)