位运算
(好久没更新博客了,其实以前更新的一些也是用来水的,但是最近发现位运算这个东西还是没有完全搞清楚,而且写一道poj的题目的时候发现可以用位运算来解决,而且最近在学习网络流算法的相关内容需要用到位运算的相关知识,所以在这里补一章位运算的博客。
写在位运算之前(二进制 原码 反码 补码
1)二进制
众所周知,计算机内部储存数据的方式是以二进制的方式进行储存的,它拥有可靠性高,运算规则简单,与逻辑量相吻合,技术上容易实现等优点,因此,计算机内大量运算都与二进制有关。
2)原码
原码是一种计算机中对数字的二进制表示方法,数码序列中最高位为符号位,符号位为0表示正数,符号位为1表示负数;其余有效值部分用二进制的绝对值表示。
3) 反码
如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。
4) 补码
<如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在末位加1。