比特是如何表达的?
1.什么是比特 比特是二进制位的意思,是一个计算机领域中的最基本的计量单位。 每个字节由8个比特组成,而每个字符通常由一个字节构成,每个字母、数字和一个标点符号占有一个比特,也就是说,每个信息单元中最小单位的量就是比特。
2.比特的类型及表示方法 二进制的每一位都有256种情况,但是实际中我们不可能用这么多的情况去表示每一件事物,于是我们将每一种情况分成若干部分并编号给它们分别定义,这样我们就得到了二进制数。
2.1整型数和浮点型数 在C语言中,有整形和浮点型两种基本数据类型。其中,整数又可分为有符号整数和无符号整数,根据系统不同,有符号整数在计算机内会保存为2's complement或补码形式(参见《计算机组态与程序设计》);浮点型数据有两种表示方法,分别为IEEE754-3格式和IEEE754-4格式。具体定义可参考官方文档(http://www.cplusplus.com/doc/tutorial_intro_to_variables.html)。为了便于读写和运算,我们通常会使用位域来对齐整数的各个位数,具体的位编码方式请参考硬件基础相关问答。
2.2字符串 和整型数一样,字符串也存在多种表示方式。如果以ASCII码来存储字符,每个字符占用一个字节,这样的话,一个字符串就是一个长度已知的整数的集合。但是这样的表示方式存在劣势,因为一个字符的编码可能跨越多个字节边界,例如'\n'这一字符的ASCII编码就是从'0'连续到'6'的。为了避免这种问题,我们可以采用一种类似于函数指针的数组来存放字符串,这种表示方式下,每一个字符都只占用一到两个字节。另外,C语言提供了数组名称作为特殊的左值,因此可以像使用局部变量那样使用字符串变量,这种特性称为“自动拆箱”(reference collapsing)。关于拆箱更多请见《C语言参考手册》第5章。