如何对二进制位号执行一些算术运算?

时间:2018-06-02 15:21:10

标签: swift int

我有一个像100100010000001010001这样的数字,当我在一些变量中存储一个数字时:

let numb =  100100010000001010001

它给了我错误:

  

Integer literal' 100100010000001010001'存储到' Int'

时会溢出

我也尝试过其他方式:

var number:UInt64 =  100100010000001010001

我只想在这个号码上添加另一个号码。谁能告诉我怎么做到这一点?我也尝试过:

NSDecimalNumber(value: 100100010000001010001)

它也不起作用。

1 个答案:

答案 0 :(得分:2)

Swift允许您在不同的基础上编写整数文字:

  • 二进制:0b100101
  • 八进制:0o47
  • 十六进制:0xd4f
  • 十进制:3456(无前缀)

这可以在Swift书的Numeric Literals部分中介绍。

所以你的二进制数字写成:

let numb = 0b100100010000001010001

或者您可以使用基数:

从字符串创建Int
let numb = Int("100100010000001010001", radix: 2)