
上QQ阅读APP看书,第一时间看更新
3.4 如何在C语言代码中表示整数
最基本的整数类型是integer,在程序代码里面写为int。这种整数分成两个小类,一类只能取(0值和)正值,这叫作unsigned int(无符号的整数、不带符号的整数),另一个类还可以取负值,这叫作signed int(有符号的整数、带符号的整数)。大家都知道,我们通常用整数来计算事物的个数,如果你不需要处理负值,那么应该明确地使用unsigned int。
默认的int类型是signed int,其中的signed可以不写。
无符号的整数其最小值是0(也就是所有二进制位全都是0时的那个值)。这种整数的最大值是所有二进制位全都取1时的那个值。假设无符号整数在你的计算机上是用一个字节(也就是8个二进制位)来表示的,那么它的取值范围就是0~255(28-1),虽然它能够表示出256个值,但最大的那个值是255,而不是256,因为这个范围是从0开始计算的。我们在计数时总是会遇到这种多算一个或少算一个的问题(one-off problem)。在编写程序的过程中,我们同样要注意跟着计算机的计数方式来调整思路,否则也容易遇到这种问题。完全适应这种计数方式之前,你可能经常容易出现偏差,并写出有bug的代码。在讲解循环(第7章)、数组(第11章、第12章)以及字符串(第15章)的时候,我们还会谈到这个问题。