Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何将-0定义为整数和-0<;目标C中的0?_Objective C_Sorting_Integer - Fatal编程技术网

Objective c 如何将-0定义为整数和-0<;目标C中的0?

Objective c 如何将-0定义为整数和-0<;目标C中的0?,objective-c,sorting,integer,Objective C,Sorting,Integer,这听起来可能很疯狂,但我正在处理一栋建筑的楼层数,它的楼层数为-0,楼层数为-0A、B和C等等 我的用户无法随机输入楼层数据。最后,我应该对这些楼层编号的数组进行排序。我发现即使我输入-0作为楼层编号并尝试对其进行排序。。它将其排序为0,因为对于计算机-0仍然是0 如何定义-0和-1根据定义,您不再使用整数作为-0!=0在整数领域中没有任何意义 因此,是的,您必须定义自己的类型并实现自己的排序规则。不过,简单地将它们存储为字符串,然后实现排序块对它们的数组进行排序是很简单的 您可以沿着使用浮动的

这听起来可能很疯狂,但我正在处理一栋建筑的楼层数,它的楼层数为-0,楼层数为-0A、B和C等等

我的用户无法随机输入楼层数据。最后,我应该对这些楼层编号的数组进行排序。我发现即使我输入-0作为楼层编号并尝试对其进行排序。。它将其排序为0,因为对于计算机-0仍然是0


如何定义-0和-1根据定义,您不再使用整数作为
-0!=0在整数领域中没有任何意义

因此,是的,您必须定义自己的类型并实现自己的排序规则。不过,简单地将它们存储为字符串,然后实现排序块对它们的数组进行排序是很简单的


您可以沿着使用浮动的路径走下去,这样您就可以得到地板0和地板-0.1,然后圆形显示。但是这种恶作剧会让你后面的维护者一个接一个地骂你(有时候还可以)

根据定义,您不再以
-0!=0在整数领域中没有任何意义

因此,是的,您必须定义自己的类型并实现自己的排序规则。不过,简单地将它们存储为字符串,然后实现排序块对它们的数组进行排序是很简单的


您可以沿着使用浮动的路径走下去,这样您就可以得到地板0和地板-0.1,然后圆形显示。但是这种恶作剧会让你后面的维护者一个接一个地骂你(有时候还可以)

到目前为止,所有的答案都在暗示您自己的类型/函数,可能还有字符串

字符串可以工作,但您可以借鉴浮点的思想,将它们存储为符号(布尔或偶数位标志)和大小(无符号整数类型,8或16位就足够了)

比较就是简单地比较符号,然后在需要时比较大小

对于这样的类型,可以使用
struct
,它将为您提供与整数和实数类型相同的值语义,并避免对象分配

如果还有一个字母(“-0作为floor,-0A,B,C等等”)可以作为结构中的第三个字段,可能是a
char
,并且仍然可以使用值语义


HTH

到目前为止,所有的答案都是建议您自己的类型/函数,可能还有字符串

字符串可以工作,但您可以借鉴浮点的思想,将它们存储为符号(布尔或偶数位标志)和大小(无符号整数类型,8或16位就足够了)

比较就是简单地比较符号,然后在需要时比较大小

对于这样的类型,可以使用
struct
,它将为您提供与整数和实数类型相同的值语义,并避免对象分配

如果还有一个字母(“-0作为floor,-0A,B,C等等”)可以作为结构中的第三个字段,可能是a
char
,并且仍然可以使用值语义


HTH

这里的关键是这些不再是整数。相反,它们是您自己的自定义类型(可能是字符串),具有自己的
定义。您是否尝试过
NSPredicate
?@OliverCharlesworth,但如果我将其定义为自定义类型。。难道我不需要定义自己的排序方法,而不把它们当作整数吗?@casillas newbie。。谢谢我要试试我能用它做什么@casillas一个谓词不会有帮助;一个int就是一个int就是一个int。这里的关键是这些不再是整数。相反,它们是您自己的自定义类型(可能是字符串),具有自己的
定义。您是否尝试过
NSPredicate
?@OliverCharlesworth,但如果我将其定义为自定义类型。。难道我不需要定义自己的排序方法,而不把它们当作整数吗?@casillas newbie。。谢谢我要试试我能用它做什么@casillas一个谓词不会有帮助;一个int是一个int是一个int。