原码、补码、反码、移码之间的换算

原码;原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
如:[+45]原=00101101 [-45]原=10101101
反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外
如:[+45]反=00101101 [-45]反=11010010
补码:正数的补码与其原码相同;一种简单的方式,原码符号位保持1不变,数值位从右边数第一个1及其右边的0保持不变,左边按位取反。也可以从反码推补码,就是在反码的基础上加1。
如:[+45]补=00101101 [-45]补=11010011
移码:(又叫增码)是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。这个不分正负。
如:[+45]移=10101101 [-45]移=01010011

posted @ 2018-03-11 08:20  QuiryRain  阅读(1612)  评论(0编辑  收藏  举报