软件设计(十二)数据结构(下)
下面把一个数转成二进制表达形式
原码:
数值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)