xqzz.net
当前位置:首页 >> 1二进制原码怎么计算 >>

1二进制原码怎么计算

正数的原码,反码,补码都一样是这个正数.负数的补码是原码取反后加1!

数在计算机中是以二进制形式表示的. 数分为有符号数和无符号数. 原码、反码、补码都是有符号定点数的表示方法. 一个有符号定点数的最高位为符号位,0是正,1是副. 以下都以8位整数为例, 原码就是这个数本身的二进制形式. 例如

1+1+1+1 就是那么实现的 对应位数相加0000 0001 + 0000 0001 = 0000 0010 除非是 1-1 计算机中 负数一般使用 补码形式 比如8位二进制表示1 - 0000 0001-1 - 1111 11111 - 1就是 1 + (-1)0000 0001 + 1111 1111 = 1 0000 0000 由于是8位二进制

首先你得区分这个二进制书是带符号位的还是不带符号位的.不带符号位的:反码就是将其原码按位取反,比如“1000”反码:“0111”;补码是其本身.带符号位的:反码就是其符号位不变,其他位按位取反.比如“10000000” 反码:“11111111”;补码就是反码再加一.反码“11111111” 补码“10000000”.

'反码' 本人认为就是一个互换原理 :如 -7的8b 用二进制表示为00000111b. 在00000111b 中把5个'零'互换成1.而3个1互换成'零'就可得到00000111b的反码11111000b; “原码”00000111b最高位(N-1)置为1.得原码为10000111b.而补码 是在 反码 的基础上加1得到00000111b的补码为11111001b

我举个例子: 25/2 = 12,余数1 12/2 = 6 ,余数0 6 /2 = 3 ,余数0 3 /2 = 1 ,余数1 1 /2 = 0 ,余数1 不停这样除以2,直到除后结果为0,再把余数从下到上组合起来就是了,所以答案是11001

原码,不是做计算用的.1111 1111 + 0000 0001 两数均为补码,计算结果是 0000 0000,代表(-1)+(+1)=0.

为了区分.多个二进制是表示一个范围的数如果世界上只有一个数字,就不需要这么多二进制表示了.比如用8个二进制表示,也只能表示0~255如果要表示256以上,那么8个二进制也不够,还得增加,比如16个二进制数.另外,为了处理器处理方便,都是按找byte(8个二进制)或word(16个二进制)的倍数来增加的.

对于无符号数而言,没有什么原码、反码、补码的概念,只有绝对值.对于带符号数,才会有采用什么码型来表示的问题.10000000确实是-128的补码.对于带符号数,最高位是符号位,0表示正数、1表示负数,始终不变.所有的码型换算,都只针对低位的绝对值部分进行.例如12的原码是00001100,-12的原码是10001100.对其绝对值部分0001100求反加1得1110100,最高位添上符号位1,就是补码11110100.所以码型转换运算只针对绝对值部分,不针对符号位,符号位始终不变.

闲扯原码、反码、补码 相信大家看到这个标题都不屑一顾,因为在任何一本计算机基础知识书的第一章都有他们的解释,但是在书上我们只能找到一些简单的定义,没次看

网站首页 | 网站地图
All rights reserved Powered by www.xqzz.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com