原码、反码、补码的互相转换
简介:本文是为了计算机组成原理复习,本文以具体题目的方式来对原码、反码、补码的互相转换进行讲解。
概述
原码 :最高位是符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。
反码:正数的反码与原码一致,负数的反码是对于原码,符号位(最高位)不变,其他各位按位取反。
补码:正数的补码与原码一致,负数的补码是对原码按位取反加1,符号位不变。
例题讲解
对于整数
以6为例子,写出它的8位的原码,反码,补码。
原码(它的二进制数):00000110
反码:01111001
补码:00000110
以-6为例子,写出它的8位的原码,反码,补码。
原码(它的二进制数):10000110
反码:11111001
补码:10000010
对于浮点数
以这个题为例子
通过这个题可以看出,浮点数的情况与与整数是一样的,首先是对于正数那么符号位为0,也就是小数点前整数部分的最高位。
然后除了符号位其他位的反码与补码的情况与整数一样,
比如0.10010符号位就是小数点前最高的0
原码:0.10010
反码:0.01101
补码:0.10010
如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历等内容,让大家更好学习编程,我的抖音,B站也叫极客李华。大家喜欢也可以关注一下