我有一些涉及负值的计算:
row = (stagePosition - col) / PHNumRow;
假设 stagePosition 为 -7,col 为 1。它们都是 NSInteger,包括行。PHNumRow 为 8。
如果 PHNumRow 是 NSInteger,我会得到我期望的结果:-1。但是如果 PHNumRow 是 NSUInteger,结果就是垃圾。
除数是未签名还是已签名为什么重要?我没有将结果放入无符号整数中。
我有一些涉及负值的计算:
row = (stagePosition - col) / PHNumRow;
假设 stagePosition 为 -7,col 为 1。它们都是 NSInteger,包括行。PHNumRow 为 8。
如果 PHNumRow 是 NSInteger,我会得到我期望的结果:-1。但是如果 PHNumRow 是 NSUInteger,结果就是垃圾。
除数是未签名还是已签名为什么重要?我没有将结果放入无符号整数中。