早教吧作业答案频道 -->数学-->
计算机中,有符号数和无符号数的区别有什么区别?
题目详情
计算机中,有符号数和无符号数的区别有什么区别?
▼优质解答
答案和解析
最明显的区别就是二者表示的范围不同:
无符号数中,所有的位都用于直接表示该值的大小.有符号数中最高位用于表示正负,所以,当为正值时,该数的最大值就会变小.我们举一个字节的数值对比:无符号数:1111 1111 值:255 1* 27 + 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20有符号数:0111 1111 值:127 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 同样是一个字节,无符号数的最大值是255,而有符号数的最大值是127.原因是有符号数中的最高位被挪去表示符号了.并且,我们知道,最高位的权值也是最高的(对于1字节数来说是2的7次方=128),所以仅仅少于一位,最大值一下子减半.不过,有符号数的长处是它可以表示负数.因此,虽然它的在最大值缩水了,却在负值的方向出现了伸展.我们仍一个字节的数值对比:无符号数:0 ----------------- 255有符号数:-128 --------- 0 ---------- 127 同样是一个字节,无符号的最小值是 0 ,而有符号数的最小值是-128.所以二者能表达的不同的数值的个数都一样是256个.只不过前者表达的是0到255这256个数,后者表达的是-128到+127这256个数.
无符号数中,所有的位都用于直接表示该值的大小.有符号数中最高位用于表示正负,所以,当为正值时,该数的最大值就会变小.我们举一个字节的数值对比:无符号数:1111 1111 值:255 1* 27 + 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20有符号数:0111 1111 值:127 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 同样是一个字节,无符号数的最大值是255,而有符号数的最大值是127.原因是有符号数中的最高位被挪去表示符号了.并且,我们知道,最高位的权值也是最高的(对于1字节数来说是2的7次方=128),所以仅仅少于一位,最大值一下子减半.不过,有符号数的长处是它可以表示负数.因此,虽然它的在最大值缩水了,却在负值的方向出现了伸展.我们仍一个字节的数值对比:无符号数:0 ----------------- 255有符号数:-128 --------- 0 ---------- 127 同样是一个字节,无符号的最小值是 0 ,而有符号数的最小值是-128.所以二者能表达的不同的数值的个数都一样是256个.只不过前者表达的是0到255这256个数,后者表达的是-128到+127这256个数.
看了 计算机中,有符号数和无符号数...的网友还看了以下:
MATLAB中定义f=' '和f=sym(' ')的区别前者是字符串,类型char后者是符号表达式 2020-05-16 …
数据结构题目算术表达式求值一个算术表达式是由操作数(operand)、运算符(operator)和 2020-06-13 …
正确使用标点符号特别想要请教一下引号的使用方法.直接引语、间接引语、完全引用、不完全引用之间的区别 2020-06-13 …
赋值运算符与逻辑与运算符优先级以下关于运算符优先顺序的描述中正确的是。A、关系运算符<算术运算符< 2020-06-26 …
量子力学上的算子和算符有什么区别,只是叫法上的区别吗? 2020-06-26 …
高阶导数的符号究竟只是一个符号还是有特别的运算律?如函数y=f(x)的二阶导数d^2y/dx^2, 2020-07-01 …
6个字符串装入vector容器中,采用某一种STL排序算法,对这6个字符串进行排序后输出字符串分别 2020-07-23 …
在Excel中,各运算符号的优先级由高到低顺序为().A.算术运算符、比较运算符、文本运算符和引用运 2020-11-01 …
在EBSCOHOST数据库的检索规则中?*分别是什么含义在EBSCOHOST数据库的检索规则中,截词 2020-11-01 …
观察下面算式的规律:2000+1991-1988-1982+1976+1970-1964-1958+ 2020-11-24 …