C语言基础 - extern,移位与或非
来源:互联网 发布:三菱伺服电机调试软件 编辑:程序博客网 时间:2024/06/05 17:08
1,extern在OC中的使用
1),首先在合适的地方定义一个全局的变量,并在合适的地方赋值,赋值可以在声明时候赋值,也可以在定义的类中或者其它任何使用该全局变量的时候赋值和更改全局变量的值;
2),测试发现,全局变量必须定义在一个*.m文件中,定义在*.h文件中时候XCode会报错;
3),在需要使用全局变量的地方使用extern关键字声明一个和其它文件中定义的全局变量名字完全相同的变量, 这样就可以在本类中的方法中使用该全局变量了,并不需要导入定义该全局变量的头文件! 在这里也可以改变全局变量的值。
4),测试证明,在定义的地方和使用该全局变量的地方我们使用的是同一个变量。内存地址完全相同。第三次打印地址和前两个不同,是因为第三次两个NSString全局变量被重新赋值了,所以 ~
2,C中的与或非异或移位运算
1),与运算:&
两者都为1为1,否则为0
1&1=1, 1&0=0, 0&1=0, 0&0=0
2),或运算:|
两者都为0为0,否则为1
1|1 = 1, 1|0 = 1, 0|1 = 1, 0|0 = 0
3),非运算:~
1取0,0取1
~1 = 0, ~0 = 1
~(10001) = 01110
4),异或运算
两者相等为0,不等为1
1^1=0, 1^0=1, 0^1=1, 0^0=0
5)移位运算
移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。
移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移花接木有关。
如果是左移,则规定补入的数全部是0;
如果是右移,还与被移位的数据是否带符号有关。
若是不带符号数,则补入的数全部为0;
若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。
位移位运算符的优先级如下:
·算术运算符 优先于 位移位运算符 优先于 关系运算符
·位移位运算符是同级别的,结合性是自左向右
<<,左移相当于被移位的数字乘以2的n次方;
>>,无符号左端补零,有符号,补的全部是原符号位
- C语言基础 - extern,移位与或非
- C语言基础 关系运算符 与或非
- C语言里的与(&)或(|)非(~)异或(^)和移位运算符(<<,>>)
- C语言中的与或非
- 短路/非短路-与/或,移位运算
- C语言基础 按位运算符 按位与,或,非,左移,右移
- C语言的按位与、或、非、异或
- C语言的按位与、或、非、异或
- c语言 异或的与或非表示
- C语言按位与、或、非、异或
- C语言的按位与、或、非、异或
- C语言基础——extern 与 static
- c语言 static与extern
- c语言的按位或,与,非运算符
- C语言通过逻辑运算(与或非)实现加法
- java非,或与和三种移位运算
- C语言基础:C语言static和extern(1) - 作用与函数
- C语言基础:C语言static和extern(2) - 作用与变量
- Python 资源
- linux 调度
- JS中的random()、floor()、ceil()、round()
- RAII惯用法:C++资源管理的利器 http://www.cnblogs.com/hsinwang/articles/214663.html
- 连接池配置(server.xml)后报Invalid byte 1 of 1-byte UTF-8 sequence
- C语言基础 - extern,移位与或非
- 客户端向服务端发送信息
- Qt学习之路_9(Qt中Item Widget初步探索)
- Codeforces Round#324 div.2 E
- C++之RAII惯用法 blog.csdn.net/hunter8777/article/details/6327704
- UITableViewCell的背景设置
- QTableView的表格项中加入图标的方法
- Struts实战-使用SSH框架技术开发学籍管理系统
- 关于拉格朗日乘子法与KKT条件