二进制运算
2017-12-08 16:38
225 查看
二进制转换为十进制
假如一个有一个二进制数0110 0100,转化为十进制为:第0位 0 x 2^0 = 0
第1位 0 x 2^1 = 0
第2位 1 x 2^2 = 4
第3位 0 x 2^3 = 0
第4位 0 x 2^4 = 0
第5位 1 x 2^5 = 32
第6位 1 x 2^6 = 64
第7位 0 x 2^7 = 0
结果为4+32+64=100
二进制运算
按位与(&)
两位全为1,结果才为1:0&0=0; 0&1=0; 1&0=0; 1&1=1;
按位或(|)
只要有一个为1,结果就为1: 0|0=0; 0|1=1; 1|0=1; 1|1=1;
异或运算(^)
两个相应位为“异”(值不同),则该位结果为1,否则为0:
0^0=0; 0^1=1; 1^0=1; 1^1=0;
取反运算(~)
对于一个二进制数按位取反,即将0变1,1变0: ~1=0; ~0=1;
左移运算(<<)
将一个运算对象的各二进制位全部左移若干位(左边的二进制丢弃,右边补零)
2<<1 = 4 : 10 <<1 =100=4
若左移时舍弃的高位不包括1,则每左移一位,相当于该数乘以2。
右移运算(>>)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。操作数每右移一位,相当于该数除以2.
左补0 or 补1 得看被移数是正还是负。
例:1=4 >> 2
相关文章推荐
- 懂二进制(异或的应用;注意位运算的优先,以及与运算的结果,结果不一定是 1)---2015小米暑期实习笔试题
- 20161208计算机科学导论02_二进制运算
- 二进制运算
- hdu 5969 最大的位或(二进制规律运算)
- [转载] C++位运算:将一个4字节整数的二进制表示中的001替换为011
- 不使用按位运算符,实现或"|",与"&",左移位"<<",右移位">>"二进制运算
- JVM习题--二进制运算
- java 二进制(原码 反码 补码),位运算,移位运算,约瑟夫问题
- 位运算与小数的二进制表示
- 模拟二进制运算
- 位运算的应用和分治法在二进制中的应用
- 【剑指offer】位运算相关-二进制中1的个数10
- 二进制整数的加,减运算
- 统计一个整数的二进制中1的个数(位运算技巧)
- 二进制加乘法运算
- 二进制的位运算
- C语言位运算应用一:求一个数的二进制表示中1的个数
- 20161208计算机科学导论02_二进制运算
- Java千百问_03基本的语法(005)_二进制是如何做位运算的
- 二进制运算