免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4187 | 回复: 12
打印 上一主题 下一主题

关于C99中bit和object两个基本概念的纠结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-13 14:01 |只看该作者 |倒序浏览
C99 TC3(n1256)中对bit的定义是:
3.5
bit
unit of data storage in the execution environment large enough to hold an object that may have one of two values
我对这段文字的理解是,bit可以容纳一个数据对象。
这与该标准同时给出的object的定义并无相悖之处。
3.14
object
region of data storage in the execution environment, the contents of which can represent values

然而在C99 Rationale V5.10中却说
All objects in C must be representable as a contiguous sequence of bytes, each of which is at least 8 bits wide.

感觉Rationale的说法与bit的定义相互矛盾。

论坛徽章:
0
2 [报告]
发表于 2011-03-13 14:17 |只看该作者
这个核心的意思是:object 能存储尽可能表达的值,一个 bit object 能表达两个值,
一个 int object 能表达4个连续byte

论坛徽章:
0
3 [报告]
发表于 2011-03-13 14:21 |只看该作者
这个核心的意思是:object 能存储尽可能表达的值,一个 bit object 能表达两个值,
一个 int object 能表达 ...
mnf 发表于 2011-03-13 14:17



   但是Rationale说的是“ All objects ”,应该包括你所说的“bit object ”

论坛徽章:
0
4 [报告]
发表于 2011-03-13 14:38 |只看该作者
你纠结于这个"contiguous sequence of bytes",为什么不能和“which can represent values“结合在一起理解呢?
它用词就这样,怎么理解看人了

论坛徽章:
0
5 [报告]
发表于 2011-03-13 16:22 |只看该作者
回复 4# mnf


    怎么“结合”?

论坛徽章:
5
程序设计版块每日发帖之星
日期:2016-06-01 06:20:00数据库技术版块每日发帖之星
日期:2016-06-11 06:20:00操作系统版块每日发帖之星
日期:2016-06-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-13 06:20:00数据库技术版块每日发帖之星
日期:2016-08-07 06:20:00
6 [报告]
发表于 2011-03-13 16:42 |只看该作者
现在需要学习C99吗?我觉得C89可以足够了啊?

难道某些时候C89不给力,不得不用C99?


望释疑,谢谢!

论坛徽章:
0
7 [报告]
发表于 2011-03-13 23:33 |只看该作者
回复 6# cqlouis


    你我的情况不同。我是为了把我那本《狂人C》写得更好,那书介绍了C99
    C99与C89在很大范围内是一致的,所以我觉得你不必介意学的是C89还是C99。不过在许多编译器上C99都已经在一定程度上实现了

论坛徽章:
5
程序设计版块每日发帖之星
日期:2016-06-01 06:20:00数据库技术版块每日发帖之星
日期:2016-06-11 06:20:00操作系统版块每日发帖之星
日期:2016-06-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-13 06:20:00数据库技术版块每日发帖之星
日期:2016-08-07 06:20:00
8 [报告]
发表于 2011-03-14 00:06 |只看该作者
狂人C就是你在写阿,很想拜读一下

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
9 [报告]
发表于 2011-03-14 08:05 |只看该作者
呼唤 幻の上帝 ~~~

论坛徽章:
0
10 [报告]
发表于 2011-03-14 09:42 |只看该作者
我这边这个版本(JTC1/SC22/WG14 N794 )是这样写的:

3.15 Object


       [#1] A region of data storage in the execution  environment,
       the  contents  of  which  can  represent values.  Except for
       bit-fields, objects are composed of contiguous sequences  of
       one  or more bytes, the number, order, and encoding of which
       are either explicitly specified  or  implementation-defined.
       When  referenced,  an  object may be interpreted as having a
       particular type; see 6.2.2.1.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP