软件设计(十三)-原码、反码、补码、移码

2023-02-28 09:19:06 浏览数 (1)

软件设计(十二)数据结构(下)

下面把一个数转成二进制表达形式

原码:

数值1 : 0000 0001

数值-1 : 1000 0001

1 (- 1) : 1000 0010

这是8个bit,其中首位代表符号,0代表正数,1代表负数。相加后等于-2,这显然是不对的。 所以原码不能在机器里直接相关运算。

范围:-127~127

反码:

数值1: 0000 0001

数值-1: 1111 1110

1 (-1):1111 1111

正数则反码和原码一致,负数除了符号位,其他位置取反,这时候相加等于-0。(为什么等于-0,首位1不变,代表-数,后面7个1取反,则是1000 0000,所以代表-0)

范围:-127~127

补码:

数值1: 0000 0001

数值-1: 1111 1111

1 (-1):0000 0000

正数不变,负数尾数加1,这时候就算出是0。

范围:-128~127

移码:(一般作用于浮点运算当中的解码)

数值1: 1000 0001

数值-1: 0111 1111

1 (-1):1000 0000

首位在补码的基础上取反,移码中 1代表正数,0代表负数,所以相加之后还是0。

1、表达式采用逆波兰式表示时,利用(栈)进行求值。

逆波兰表达式是把运算符号写在对象的后面,例如a b写成ab ,所以也称后缀式。

2、网络管理员通过命令行方式对路由器进行管理,需要确保ID、口令和会话内容的保密性,应采用的访问方式是 SSH。

SHH是建立在应用层和传输层基础上的安全协议。SSH(Secure Shell)

ssh

0 人点赞