有符号位的二进制数,在计算原码和补码时那个符号位是始终不变的吗?
3个回答
展开全部
对于无符号数而言,没有什么原码、反码、补码的概念,只有绝对值。
对于带符号数,才会有采用什么码型来表示的问题。10000000确实是-128的补码。对于带符号数,最高位是符号位,0表示正数、1表示负数,始终不变。所有的码型换算,都只针对低位的绝对值部分进行。
例如12的原码是00001100,-12的原码是10001100。对其绝对值部分0001100求反加1得1110100,最高位添上符号位1,就是补码11110100。
所以码型转换运算只针对绝对值部分,不针对符号位,符号位始终不变。
对于带符号数,才会有采用什么码型来表示的问题。10000000确实是-128的补码。对于带符号数,最高位是符号位,0表示正数、1表示负数,始终不变。所有的码型换算,都只针对低位的绝对值部分进行。
例如12的原码是00001100,-12的原码是10001100。对其绝对值部分0001100求反加1得1110100,最高位添上符号位1,就是补码11110100。
所以码型转换运算只针对绝对值部分,不针对符号位,符号位始终不变。
展开全部
对于无符号数而言,没有什么原码、反码、补码的概念,只有绝对值。
对于带符号数,才会有采用什么码型来表示的问题。10000000确实是-128的补码。对于带符号数,最高位是符号位,0表示正数、1表示负数,始终不变。所有的码型换算,都只针对低位的绝对值部分进行。
例如12的原码是00001100,-12的原码是10001100。对其绝对值部分0001100求反加1得1110100,最高位添上符号位1,就是补码11110100。
所以码型转换运算只针对绝对值部分,不针对符号位,符号位始终不变。
因为对于带符号数而言,真正的表示范围是-127~+127,这其中包含了两个0:+0(00000000)和-0(10000000)。而实际应用中,0是没有符号的,所以规定0用+0来表示,那么-0就是一个没有用的二进制码了,而对于低7位而言,模为128,那么128与0就是等值的,此时符号位是负的,于是规定-0就表示-128。这是人为规定。
对于带符号数,才会有采用什么码型来表示的问题。10000000确实是-128的补码。对于带符号数,最高位是符号位,0表示正数、1表示负数,始终不变。所有的码型换算,都只针对低位的绝对值部分进行。
例如12的原码是00001100,-12的原码是10001100。对其绝对值部分0001100求反加1得1110100,最高位添上符号位1,就是补码11110100。
所以码型转换运算只针对绝对值部分,不针对符号位,符号位始终不变。
因为对于带符号数而言,真正的表示范围是-127~+127,这其中包含了两个0:+0(00000000)和-0(10000000)。而实际应用中,0是没有符号的,所以规定0用+0来表示,那么-0就是一个没有用的二进制码了,而对于低7位而言,模为128,那么128与0就是等值的,此时符号位是负的,于是规定-0就表示-128。这是人为规定。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
补码分几种情况:
1、正数与原码相同
2、负数的补码是对
其原码逐位取反
,但符号位除外;然后整个数加1。
1、正数与原码相同
2、负数的补码是对
其原码逐位取反
,但符号位除外;然后整个数加1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询