黑马程序员_位运算
来源:互联网 发布:水准测量记录表数据 编辑:程序博客网 时间:2024/05/07 05:36
------- IOS培训、<a href="http://www.itheima.com" target="blank”>Mac、期待与您交流! —————
1.按位与 &
1001
0101
-----
0001
2. 按位或 |
1001
0101
-----
1101
3.按位异或 ^ 不相同为1,相同为0
1.相同数值进行异或,结果肯定是0,比如9^9
2.交换 9^5^6 == 9^6^5
3.任何数值跟0进行异或,结果还是原来的数值,9^0 == 9
4.a^b^a == a^a^b == 0^b == b
1001
0101
-----
1100
4.按位取反 ~
~0000 0000 0000 0000 0000 0000 0000 1001
1111 1111 1111 1111 1111 1111 1111 0110
5.左移 <<
0000 0000 0000 0000 0000 0000 0000 0000
00 0000 0000 0000 0000 0000 0000 100100
9<<1 -> 9 * 2的1次方 == 18
9<<2 -> 9 * 2的2次方 ==36
9<<n -> 9 * 2的n次方
6.右移 >>
0000 0000 0000 0000 0000 0000 0000 0000
000000 0000 0000 0000 0000 0000 0000 10
111111 1111 1111 1111 1111 1111 1111 10
8>>1 -> 8/2 == 4
8>>2 -> 8/2的2次方 == 2
8>>n -> 8/2的n次方
写一个函数,用来输出整数在内存中的二进制形式
void printBinary(int number)
{
//记录现在挪到第几位
// (sizeof(number)*8) - 1 == 31
int temp = ( sizeof(number)<<3 ) -1;
while ( temp >= 0 )
{
// 先挪位,再&1,取出对应位的值
int value = (number>>temp) & 1;
printf("%d", value);
//
temp--;
// 每输出4位,就输出一个空格
if ( (temp + 1) %4 == 0 )
{
printf(" ");
}
}
printf("\n");
}
- 黑马程序员_位运算
- 黑马程序员_java入门_位运算
- 黑马程序员_关于C#中的位运算符
- 黑马程序员_位运算符的用法
- 黑马程序员_位运算符的应用
- 黑马程序员_04_算术_转移_逻辑_位_三元_运算符_判断语句
- 黑马程序员-位运算符
- 黑马程序员_运算符
- 黑马程序员 java中的位运算总结
- 黑马程序员——位运算符
- 黑马程序员之Java--位运算
- 黑马程序员-C语言位运算
- 黑马程序员-位运算练习3
- 黑马程序员-位运算练习2
- 01黑马程序员_变量,赋值运算
- 黑马程序员_数据类型及运算符
- 黑马程序员_重载运算符
- 黑马程序员--java基础——位运算符
- hadoop 程序打包,运行命令
- framework的合并
- CentOS升级内核(el6uek)后VMware无法打开解决方案
- POJ1839
- 1005.Graduate Admission
- 黑马程序员_位运算
- TCP time_wait 的存在意义
- SQLite数据库框架ORMLite与GreenDao的简单比较
- linux 64位系统ZendGuardLoader.so: wrong ELF class: ELFCLASS32报错
- mongodb配置
- UIApplication APPDelegate 协议
- Lua5.1 table库
- IOS持久化和网络请求
- SQL Server CONVERT() 函数