用十六进制,八进制和二进制写整数的目的是什么?

时间:2018-07-27 11:26:57

标签: swift floating-point int decimal var

我很清楚,人们可以在Swift中为数组或常量分配一个值,并使这些值以不同的格式表示。

对于整数:可以以十进制,二进制,八进制或十六进制的格式声明。

浮点型或双精度型:可以以十进制或十六进制的格式声明,并且也可以使用指数。

例如:

var decInt = 17
var binInt = 0b10001
var octInt = 0o21
var hexInt = 0x11

以上所有变量的结果相同,为17。

但是有什么收获呢?为什么不使用十进制以外的数字呢?

2 个答案:

答案 0 :(得分:1)

即使最终结果是相同的,有些符号也可能使人们更容易理解。例如,您可以考虑使用颜色符号(十六进制)或文件权限符号(八进制)之类的情况。

答案 1 :(得分:1)

最好以最有意义的方式编写代码。

使用与您的程序域最匹配的数字格式只是一个示例。您不想混淆特定于域的细节,并希望最大程度地减少代码阅读者的脑力劳动。

另外两个例子:

  • 不简化计算。例如:要将比例转换的整数值(以1/10000弧分钟为单位)转换为浮点(以度为单位),请勿将转换因子写为600000.0,而应写10000.0 * 60.0
  • 选择与数据性质相匹配的代码结构。例如:如果您的函数具有两个返回值,请确定它是对称还是不对称。对于对称情况,请始终写完整的if (condition) { return A; } else { return B; }。编写if (condition) { return A; } return B;是一个常见错误(仅仅是因为“有效”)。

含义很重要!