Skip to Main Content
C++程序设计:原理与实践(进阶篇)(原书第2版)
book

C++程序设计:原理与实践(进阶篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced content levelIntermediate to advanced
450 pages
10h 35m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(进阶篇)(原书第2版)

25.5.1 位和位运算

一个字节可以看作8个位的序列:

注意,位编号的习惯顺序是由右(最低有效位)至左(最高有效位)。类似地,一个字也可看作4个字节的序列:

编号顺序同样是由右至左,即从最低有效位到最高有效位。这两个图过分简化了现实世界中的情况:曾经存在一个字节有9位的计算机(虽然没有一台的寿命超过十年),而一个字包含两个字节的计算机就更常见了。不过,只要你记得在使用“8位”和“4字节”这两个特性之前查阅一下系统手册,就不会出现问题了。

如果希望程序是可移植的,那么请在程序中使用<limits>(见24.2.1节)以确保类型大小不会弄错。为了方便编译器的检查,可以在程序中加入断言:

一个static_assert的第一个参数是一个常量表达式,它应该为真。如果它不为真,即断言失败,编译器会将第二个参数(一个字符串)作为错误消息的一部分输出。

在C++中我们如何来表示一组二进制位呢?答案取决于我们要处理多少位,以及希望哪些操作更方便和高效。我们可以将整型值当作一组二进制位来使用:

·bool——1位,但占用整个字节的空间。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

JAVASCRIPT之美|聽頂尖程式設計師闡述他們的思維

JAVASCRIPT之美|聽頂尖程式設計師闡述他們的思維

Anton Kovalyov
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉
C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普

Publisher Resources

ISBN: 9787111562528