谁能给我细细解释下无符号数和有符号数怎么表示,怎么输出,怎么进行转换,及其他相关内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁能给我细细解释下无符号数和有符号数怎么表示,怎么输出,怎么进行转换,及其他相关内容相关的知识,希望对你有一定的参考价值。

无符号数用原码表示,没有符号位,都是数据位。比如4就是0000 0100
有符号数最高位为符号位,正数也用原码表示,符号位为0,比如+4也是0000 0100
有符号数负数用补码表示,符号位为1,代表负数,补码的表示方法是:比如-4就是把4的原码0000 0100按位取反最后再加1结果就是:1111 1100。
应该讲明白了。再不明白就看看计算机基础吧。
参考技术A 无符号,正数;
有符号,负数

《计算机组成原理》:机器数的表示方法,定点数和浮点数

无符号数和有符号数

(一)无符号数

即没有符号的数,机器字长相同时,无符号数和有符号数的范围是不同的。以机器字长16位为例,无符号数的范围是0~65 535,而有符号数的范围是-32 768 ~ +32 767。

(二)有符号数

在计算机中,符号位用0表示正,1表示负。

1.原码表示法

整数的原码,例如

真值为正:将符号位变为对应的数,并用逗号隔开

x = +1110时,原码为 0,1110

真值为负:将符号位变为对应的数,并用逗号隔开

x = -1110时,原码为 1,1110

小数的原码,例如

真值为正:将符号位置于小数点前

x = +0.1010时,原码为 0.1010

真值为负:将符号位置于小数点前

x = -0.1010时,原码为 1.1010

当x = 0时,原码有两种表现形式

x = +0.0000 原码为0.0000

x = -0.0000 原码为1.0000

2.补码表示法

整数的补码,例如

真值为正,添加符号位,数值位不变

x = +1010 补码为 0,1010

真值为负,添加符号位,数值位按位取反并加1

x = -1010 补码为 1,0110

小数的补码,例如

真值为正,添加符号位于小数点前,数值位不变

x = +0.1010 补码为 0.1010

真值为负,添加符号位于小数点前,数值位按位取反并加1

x = -0.1010 补码为 1.0110

若 x = -1,根据小数补码定义,其补码为1.0000

3.反码表示法

整数的反码,例如

真值为正,添加符号位,数值位不变

x = +1010 补码为 0,1010

真值为负,添加符号位,数值位按位取反

x = -1010 补码为 1,0101

小数的反码,例如

真值为正,添加符号位于小数点前,数值位不变

x = +0.1010 补码为 0.1010

真值为负,添加符号位于小数点前,数值位按位取反

x = -0.1010 补码为 1.0101

4.移码表示法

整数的移码,例如

真值为正,符号位取反,数值位不变

x = +1010 补码为 1,1010

真值为负,符号位取反,数值位按位取反加1

x = -1010 补码为 1,0101

数的定点表示和浮点表示

(一)定点表示

当小数点位于数符和第一数值位之间时,机器内的数为纯小数;当小数点位于数值位之后,机器内的数为纯整数。

(二)浮点表示

S 为尾数,j 为阶码,r 为基数(在计算机中可取2,4,8或16)(如果难理解,可以参照以前我们学的科学计数法)。

浮点数在机器中的形式如下,采用这种数据格式的机器称为浮点机。

例如浮点数 0.1100101×2^-10,在浮点机中表示为 1,0010 ; 0.11001010000

浮点数的规格化

为了提高浮点数的精度,必须对浮点数进行规格化。规格化时,尾数移位时阶码需要变化,参照科学计数法即可,很好理解。

当基数为2时,尾数最高一位为1的数为规格化数。

当基数为4时,尾数最高两位不全为0的数为规格化数。

当基数为8时,尾数最高三位不全为0的数为规格化数。

以上是关于谁能给我细细解释下无符号数和有符号数怎么表示,怎么输出,怎么进行转换,及其他相关内容的主要内容,如果未能解决你的问题,请参考以下文章

有符号数和无符号数

汇编语言无符号数与有符号数转换

《计算机组成原理》:机器数的表示方法,定点数和浮点数

有符号数与无符号数之间运算问题探究

有符号数与无符号数之间运算问题探究

有符号数和无符号数