计算机基础之二进制详解(二)

介绍

二进制数可以分为有符号数和无符号数,有符号数,又可以分为原码、反码、补码。

什么是有符号呢?
就是 识别正和负数的,在首尾代表 0 为正 1为负。无符号就是相反啦。

原码、反码、补码

正数的原码、反码、补码都是一样,没有可讲的。

负数

负数的原码,最高位是1,反码是除了最高位,其余的与原码取反,补码是反码加1。

举例:

十进制数 原码 反码 补码
1 0000 0001 0000 0001 0000 0001
-1 1000 0001 1111 1110 1111 1111

二进制算法

主要说明二进制的加、减、乘、除的运算

加法:逢二进一。

          0+0=0,0+1=1,1+0=1,1+1=10

减法:向高位借一当二。

         1-1=0,1-0=1,0-0=0,0-1=1

乘法:同时为“1”时结果才为“1”

         0×0=0,0×1=0,1×0=0,1×1=1

除法:跟十进制数的除法类似,只不过结果只有0、1。

另外,关于乘法和移位的关系
左移或者是右移都是二进制数的运算,为了方便我们人们计算,我们和乘法联系起来。

二进制数左移N位,就是这个二进制数对应的十进制数乘以2的N次方。

右移N位,就是十进制数除以2的N次方。

如: 二进制数0000 0100(4) 左移2位是 0001 0000 也就是4X2^2=16

小数的二进制运算

对于十进制小数应乘2,取得整数部分和小数部分,小数部分继续乘2直到小数位为0

0.25的二进制
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.25的二进制为 0.01 ( 第一次所得到为最高位,最后一次得到为最低位)

0.8125的二进制
0.8125*2=1.625 取整是1
0.625*2=1.25 取整是1
0.25*2=0.5 取整是0
0.5*2=1.0 取整是1
即0.8125的二进制是0.1101(第一次所得到为最高位,最后一次得到为最低位)

原码、反码、补码表示范围

整数
原码 -(2^n-1) - - 2^n-1-1
反码 -(2^n-1) - - 2^n-1-1
补码 -2^n-1 - - 2^n-1-1

你可能感兴趣的:(软考,软考-软件设计师)