前言
或(|)、且(&)、反(~)、异或(^)等是计算机语言中常见的二进制运算符,想要对这几种运算的计算机实现理解的比较透彻,首先需要知道,数在计算机中是如何表示的。
目录
1、数的二进制表示
1.1 二进制和符号位
1.2 原码、反码、补码
2、位运算
2.1 异或运算 ^
2.2 或运算 |
2.3 且运算 &
2.4 取反运算 ~
2.5 位移运算
2.6 负号运算
正文
1 、数的二进制表示
1.1 二进制和符号位
我们日常使用的数字表示方法是十进制,每一位可以取0,1,2,...,9,满10进1,每一位都有其对应的单位(从低到高分别是:个,十,百,千,万... ...)。计算机中最基本的存储单元是位(bit),每一个位只能存储0或1,满2进1,同样的,每一位都有其对应的单位(从低到高分别是:,
,
......)。下面给出一个例子方便理解:
在二进制表示中,为了区分正数和负数,把最高位当作符号位,0表示正数,1表示负数,绝对值相等的正负数的非符号位相等。比如,使用8位二进制数时,第8位为符号位:
十进制7的8位二进制 0000 0111
十进制-7的8位二进制 1000 0111
1.2 原码、反码、补码(8位为例)