oc中方法的调用有两种:
第一种:
类名或对象名 方法名
[ClassOrInstance method]
[ClassOrInstance method:arg1]
[ClassOrInstance method1:arg2 method2:arg2]
第二种:
对象名.方法名 (点语法)
[[ClassOrInstance method:arg1] otherMethod] //嵌套发送消息
-1用二进制表示为:1111111111111111。c++中负数存储时,不是简单的将符号位置为1,而是采用补码的形式存储的:负数最高位为符号位,也就是1,其余全部取反,然后再加1。
假如操作系统是32位,-1的二进制存储不是:1000000000000001,而是:1111111111111110+1即1111111111111111。
C语言中printf("%u")表示按无符号数形式输出一个整数。现在的机器一般为32位或64位机,整数存储占4个字节,一个字节8位,共计32位。整数在计算机中以补码形式存储,-1的补码为32个1组成的二进制数,按无符号数输出这个二进制数,就是2^32-1=4294967295。
由于采用补码表示整数,计算机本身不关心整数是正数还是负数,统一按无符号数对待。具体输出时,显示为什么数,计算机按编程者的格式要求进行处理输出。如32个1组成的二进制数,按%d输出就是-1,按无符号输出就是4294967295。在计算机中,可以区分正负的类型,称为有符号类型(signed),无正负区分的类型,称为无符号类型(unsigned)。有符号类型数据的最高位表示符号,1表示正,0表示负。
交换两个数字有很多种方法,这里我使用其中最简单一种完成函数:void
swap(int
*a,
int
*b)
//参数传入指针,为了交换改变传入变量的值
{
int
c
//变量c作用域仅仅在该函数内,无法再函数外使用,函数调用完,c的生存期也
c
=
a
就结束了
a
=
b
b
=
c
}
哪里不清楚请提问