Objective-C数量类型-Objective-C int 整数类型

来源:互联网 发布:新加坡dfs免税店 mac 编辑:程序博客网 时间:2024/05/14 05:44
今天 Mike 要和大家聊下在 Objective-C 中的int 数据类型,整数常量由一个或多个数字的序列组成。序列前的负号表示该值是一个负数。值 168,-12 和 0 都是合法的整数常量。数字中间不允许插入空格,大于 999 的值不能用逗号来表示(因此,值 15,000 是个非法的整数常量,它必须写成 15000)。

     在 Objective-C 中存在两种特殊的格式,它们用一种非十进的方式来表示整数常量。如果整型值的第一位是0,那么这个整数将用八进制计数法来表示,就是说基数8来表示。在这种情况下,该值的其余位必须是合法的八进制数字,也就是 0 到 7 之间的数字。因此在 Objective-C 中以八进制表示的值 50 (等价于十进制的值40),表示方式为 050。与此类似,八进制的 0177 表示十进制的值 127(1*64+7*8+7)。通过在NSLog调用的格式字符串中使用格式符号%o,可在终端上用八进制显示整数值。在这种情况下,用八进制显示的值不带有前导 0,而格式符号 %#o 将在八进制值的签名显示前导 0。

     如果整型常量以 0 和字母 x (无论是小写字母还是大写字母) 开头,那么这个值都将用十六进制 (以16为基数) 计数法来表示。紧跟在字母 x 后的是十六进制值的数字,它可由 0 到 9 之间的数字和 a 到 f (或A到F)之间的字母组成。字母表示的数字分别为 10 到 15。因此,要给名为 rgbColor 的整型常量指派十六进制的值FFEF0D,可使用以下语句:

     rgbColor = FFEF0D;

     格式符号 %x 将用十六进制格式显示一个值,该值不带前导的 0x,并用 a 到 f 之间的小写字符表示十六进制数字。要使用前导 0x 显示该值,使用格式字符 %#x,如下所示:

     NSLog("Color is %#x\n", rgbColor);

     %X 或 %#X 中的大写字母 X,可用于显示前导的 x,而随后用大写字母表示的十六进制数字。
     每个值,不管是字符,整数还是浮点数字,都有与其对应的值域。这个值域与存储特定类型的值而分配的内存量有关。一般来说,在语言中没有规定这个量,它通常依赖于所运行的计算机,因此叫做设备或机器相关量。例如,一个整数可在计算机上占用 32 位,或者可以使用 64 位存储。
     永远不要编写假定数据类型大小的程序。然而,要保证为每种基本数据类型留出最小数量的内存。例如,要保证整型值存储在 32 位中。

     十进制就是之前提到过的 %i,这里一笔带过。

     int类型就说到这里为止,接下来博主Mike将把Objective-C数据类型和常量一文中提及的 float,double,char 类型做逐一介绍。
原创粉丝点击