《C语言点滴》第3章 数据类型

22 篇文章 0 订阅 ¥28.80 ¥99.00

第3章 数据类型

《C 和指针》[14]一书提到,C 语言中仅有四种数据类型,分别为整型、浮点型、指针型和聚合类型(包含数组和结构体),剩下的类型都是从这四种类型派生或组合而来的。

例如字符型char 其实就是一个短整型,而字符串是用字符数组来保存和模拟的。本章我们主要说说整型和浮点型的相关问题。字符串、指针、数组和结构等主题,我将在本书的后面章节介绍。整型家族还分为有符号(signed)和无符号(unsigned)两种。整型数无论是否有符号,在计算机内部都是用补码来表示的。理解补码的表示方式有助于我们对整型数溢出的理解,所以先来介绍整型数的补码表示。

3.1 原码、反码和补码的解释

介绍补码之前,先简单介绍一下计算机内部使用的二进制。人类用十进制完全是因为我们有10 个手指头。如果有一天你看到一个外星人,它只有4 个手指头,那么他使用的一定是四进制,如图3-1 所示。

如果能看明白图3-1,说明你已经明白了进制和手指头的关系了。现代的计算机内部使用门电路,它们只能表示0 或者1 两个状态。如果计算机是一个人,那么他只有两个手指头,所以它使用二进制。所谓的进制,根本就不是什么神秘的东西。

图

图3-1 进制和手指头的关系

理解了计算机内部使用的二进制,下面来看看原码、反码和补码的官方定义。

• 原码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人民邮电出版社有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值