【推荐】C语言中有符号数及无符号数解析.pdfVIP

【推荐】C语言中有符号数及无符号数解析.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言中有符号数,与无符号数的辨析 关于有符号数,无符号数,你可能听过两种不同的回答。一种是教科 ,它 会告诉你:计算机用“补码”表示负数。可是有关“补码”的概念一说就得一节课, 这一些我们需要在第6章中用一章的篇幅讲2进制的一切。再者,用“补码”表示 负数,其实一种公式,公式的作用在于告诉你,想得问题的答案,应该如何计算。 却并没有告诉你为什么用这个公式就可以和答案? 0 另一种是一些程序员告诉你的:用二进制数的最高位表示符号,最高位是 , 1 表示正数,最高位是 ,表示负数。这种说法本身没错,可是如果没有下文,那 -1 “1111 么它就是错的。至少它不能解释,为什么字符类型的 用二进制表示是 1111”(16 FF) 进制为 ;而不是我们更能理解的 。(为什么说后者更好 1 -1 理解呢?因为既然说最高位是 时表示负数,那 不是正好是 吗?)。 让我们从头说起。 1、你自已决定是否需要有正负。 就像我们必须决定某个量使用整数还是实数,使用多大的范围数一样,我们 必须自已决定某个量是否需要正负。在计算机中,可以区分正负的类型,称为有 符类型,无正负的类型(只有正值),称为无符类型。 数值类型分为整型或实型,其中整型又分为无符类型或有符类型,而实型则 只有有符类型。 字符类型也分为有符和无符类型。 2、使用二制数中的最高位表示正负。 首先得知道最高位是哪一位?1个字节的类型,如字符类型,最高位是第7 位,2个字节的数,最高位是第15位,4个字节的数,最高位是第31位。不同 长度的数值类型,其最高位也就不同,但总是最左边的那位 (如下示意)。字符 类型固定是 1个字节,所以最高位总是第7位。 (红色为最高位) 单字节数 双字节数:1111111111111111 四字节数:11111111111111111111111111111111 1 0 当我们指定一个数量是无符号类型时,那么其最高位的 或 ,和其它位一 样,用来表示该数的大小。 当我们指定一个数量是无符号类型时,此时,最高数称为“符号位”。为1时, 表示该数为负值,为0时表示为正值。 3、无符号数和有符号数的范围区别。 无符号数中,所有的位都用于直接表示该值的大小。有符号数中最高位用于 表示正负,所以,当为正值时,该数的最大值就会变小。我们举一个字节的数值 对比: 255 1*27+ 1*26+ 1*25+ 1*24+ 1*23+ 1* 无符号数: 值: 22+ 1*21+ 1*20 有符号数值:127 1*26+ 1*25+ 1*24+ 1*23+ 1*22+ 1*21+ 1*20 同样是一个字节,无符号数的最大值是255,而有符号数的最大值是127。 原因是有符号数中的最高位被挪去表示符号了。并且,我们知道,最高位的权值 也是最高的 (对于1字节数来说是2 的7次方=128),所以仅仅少于一位,最大 值一下子减半。 不过,有符号数的长处是它可以表示负数。因此,虽然它的在最大值缩水了, 却在负值的方向出现了伸展。我们仍一个字节的数值对比: 无符号数: 0255 有符号数: -1280 127 有符号的数据类型的最大值的计算方

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档