位、字节和字

位、字节和字是描述计算机数据单元或存储单元的术语。这里主要指存
储单元。
最小的存储单元是位(bit),可以储存0或1(或者说,位用于设 置“开”或“关”)。虽然1位储存的信息有限,但是计算机中位的数量十分庞 大。位是计算机内存的基本构建块。
字节(byte)是常用的计算机存储单位。对于几乎所有的机器,1字节 均为8位。这是字节的标准定义,至少在衡量存储单位时是这样(但是,C 语言对此有不同的定义,请参阅本章3.4.3节)。既然1位可以表示0或1,那 么8位字节就有256(2的8次方)种可能的0、1的组合。通过二进制编码(仅 用0和1便可表示数字),便可表示0~255的整数或一组字符(第15章将详细 讨论二进制编码,如果感兴趣可以现在浏览一下该章的内容)。
字(word)是设计计算机时给定的自然存储单位。对于8位的微型计算 机(如,最初的苹果机), 1个字长只有8位。从那以后,个人计算机字长 增至16位、32位,直到目前的64位。计算机的字长越大,其数据转移越快, 允许的内存访问也更多。
和数学的概念一样,在C语言中,整数是没有小数部分的数。例如, 2、−23和2456都是整数。而3.14、0.22和2.000都不是整数。计算机以二进制数字储存整数,例如,整数7以二进制写是111。因此,要在8位字节中储存该数字,需要把前5位都设置成0,后3位设置成1(如图3.2所示)。
图3.2 使用二进制编码储存整数7

浮点数和整数的储存方案不同。计算机把浮点数分成小 数部分和指数部分来表示,而且分开储存这两部分。因此,虽然7.00和7在 数值上相同,但是它们的储存方式不同。在十进制下,可以把7.0写成 0.7E1。这里,0.7是小数部分,1是指数部分。图3.3演示了一个储存浮点数 的例子。当然,计算机在内部使用二进制和2的幂进行储存,而不是10的 幂。第15章将详述相关内容。现在,我们着重讲解这两种类型的实际区别

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值