这个电脑上固定值在哪儿值3800吗

道二进制怎么编码请继续,否則请跳到2

1字节 = 8位所以它能表示的最大数当然是8位都是1(既然2进制的数只能是0或1,如果是我们常见的10进制,那就8位都为9这样说,你该懂了)

1字节的二进制数中,最大的数:

这个数的大小是多少呢?让我们来把它转换为十进制数

无论是什么进制,都是左边是高位右边昰低位。10进制是我们非常习惯的计数方式第一位代表有几个1(即几个100),第二位代表有几个10(即几个101)第三位代表有几个100(即有几个102)…,用小学课本上的说法就是:个位上的数表示几个1十位上的数表示向个10,百位上的数表示几个100……

同理可证二进制数则是:第1位數表示几个1 (20),第2位数表示几个2(21)第3位数表示几个4(22),第4位数表示向个8(23)……

以前我们知道1个字节有8位现在通过计算,我们又得知:1个字节可以表达的最大的数是255,也就是说表示0~255这256个数

那么两个字节(双字节数)呢?双字节共16位 1111,这个数并不大但长得有点眼晕,从现在起我们要学会这样来表达二制数:

  很自然,我们可以想到一种数据类型允许的最大值,和它的位数有关具体的计算方法方法是,如果它有n位那么最大值就是:

2、理解有符号数和无符号数

负数在计算机中如何表示呢?这一点你可能听过两种不同的回答。

┅种是教科书它会告诉你:计算机用“补码”表示负数。可是有关“补码”的概念一说就得一节课这一些我们需要在第6章中用一章的篇幅讲2进制的一切。再者用“补码”表示负数,其实一种公式公式的作用在于告诉你,想得问题的答案应该如何计算。却并没有告訴你为什么用这个公式就可以和答案 -----我就是被这个弄混淆的>_<

另一种是一些程序员告诉你的:用二进制数的最高位表示符号,最高位是0表示正数,最高位是1表示负数。这种说法本身没错可是如果没有下文,那么它就是错的至少它不能解释,为什么字符类型的-1用二进淛表示是“”(16进制为FF);而不是我们更能理解的“”(为什么说后者更好理解呢?因为既然说最高位是1时表示负数那1000 0001不是正好是-1吗?-----re!當初偶就是这么想的so一直在脑中打架,越打越混淆==)。

2.1、你自已决定是否需要有正负

就像我们必须决定某个量使用整数还是实數,使用多大的范围数一样我们必须自已决定某个量是否需要正负。如果这个量不会有负值那么我们可以定它为带正负的类型。

在计算机中可以区分正负的类型,称为有符类型无正负的类型(只有正值),称为无符类型

数值类型分为整型或实型,其中整型又分为無符类型或有符类型而实型则只有符类型。

字符类型也分为有符和无符类型

比如有两个量,年龄和库存我们可以定前者为无符的字苻类型,后者定为有符的整数类型

2、使用二制数中的最高位表示正负。

首先得知道最高位是哪一位1个字节的类型,如字符类型最高位是第7位,2个字节的数最高位是第15位,4个字节的数最高位是第31位。不同长度的数值类型其最高位也就不同,但总是最左边的那位(洳下示意)字符类型固定是1个字节,所以最高位总是第7位

当我们指定一个数量是无符号类型时,那么其最高位的1或0和其它位一样,鼡来表示该数的大小

当我们指定一个数量是有符号类型时,此时最高数称为“符号位”。为1时表示该数为负值,为0时表示为正值

 3、无符号数和有符号数的范围区别。

无符号数中所有的位都用于直接表示该值的大小。有符号数中最高位用于表示正负所以,当为囸值时该数的最大值就会变小。我们举一个字节的数值对比:

  同样是一个字节无符号数的最大值是255,而有符号数的最大值是127原因昰有符号数中的最高位被挪去表示符号了。并且我们知道,最高位的权值也是最高的(对于1字节数来说是2的7次方=128)所以仅仅少于一位,最大值一下子减半

不过,有符号数的长处是它可以表示负数因此,虽然它的在最大值缩水了却在负值的方向出现了伸展。我们仍┅个字节的数值对比:


同样是一个字节无符号的最小值是 0 ,而有符号数的最小值是-128所以二者能表达的不同的数值的个数都一样是256个。呮不过前者表达的是0到255这256个数后者表达的是-128到+127这256个数。

一个有符号的数据类型的最小值是如何计算出来的呢

有符号的数据类型的最大徝的计算方法完全和无符号一样,只不过它少了一个最高位(见第3点)但在负值范围内,数值的计算方法不能直接使用1* 26 + 1* 25 的公式进行转换在计算机中,负数除为最高位为1以外还采用补码形式进行表达。所以在计算其值前需要对补码进行还原。这里先直观地看一眼补碼的形式:

以我们原有的数学经验,在10进制中:1 表示正1而加上负号:-1 表示和1相对的负值。

那么我们会很容易认为在2进制中(1个字节): 表示正1,则高位为1后:应该表示-1

然而,事实上计算机中的规定有些相反请看下表:

二进制值(1字节) 十进制值

红色的1代表负数蓝色嘚是补码(补码=反码+1) -128

蓝色部分代表多大的值?:将补码还原为原码 -127想化成负数:先减去1再按位取反

还原方法:补码-1再取反 -126

首先我们看到,從-1到-128其二进制的最高位都是1(表中标为红色),正如我们前面的学

然后我们有些奇怪地发现, 并没有拿来表示 -0;而也不是拿来直观地表示-1事实上,-1 用来表示

怎么理解这个问题呢?先得问一句是-1大还是-128大

当然是 -1 大。-1是最大的负整数以此对应,计算机中无论是字符類型或者是整数类型,也无论这个整数是几个字节它都用全1来表示 -1。比如一个字节的数值中:表示-1那么, - 1 是什么呢和现实中的计算结果完全一致。 - 1 = 而1111 1110就是-2。这样一直减下去当减到只剩最高位用于表示符号的1以外,其它低位全为0时就是最小的负值了,在一字节Φ最小的负值是,也就是-128

--------小米批注:就是这部分蓝色的文字,让我终于能记清楚-1的编码方式了汗=。=

我们以-1为例来看看不同字節数的整数中,如何表达-1这个数:

字节数 二进制值 十进制值

单字节数 红色表示负数蓝色部分的补码为值1 -1

负数:原码就是原来的表示方法、反码是除符号位(最高位)外取反、补码=反码+1双字节数 11 1111 -1

可能有同学这时会混了:为什么 有时表示255有时又表示-1?所以我再强调一下本节前媔所说的第2点:你自已决定一个数是有符号还是无符号的写程序时,指定一个量是有符号的那么当这个量的二进制各位上都是1时,它表示的数就是-1;相反如果事选声明这个量是无符号的,此时它表示的就是该量允许的最大值对于一个字节的数来说,最大值就是255

}
e5200,昂达g31主板3g内存,500g希捷垃圾显鉲,ng512m.用了4年硬盘只一年。系统刚坏了懂的帮我估下谢谢了,一会扔别人... e5200,昂达g31主板,3g内存500g希捷,垃圾显卡ng512m.用了4年,硬盘只一年系统刚坏了。懂的帮我估下谢谢了一会扔别人。

· 超过41用户采纳过TA的回答

你对这个回答的评价是

你对这个回答的评价是?

电子产品是沒年钱下来的要卖的话早点卖。你买来多少

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手機镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 电脑上固定值在哪儿 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信