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

Swift 如何对二进制位数执行一些算术运算?,swift,int,Swift,Int,我有一个像100100000000001010001这样的数字,当我将一个数字存储在某个变量中时,比如: let numb = 100100010000001010001 它给了我一个错误: 整数文字“100100000010001”存储到“Int”时溢出 我还尝试了其他方法,如: var number:UInt64 = 100100010000001010001 我只想在这个号码上再加一个号码。谁能告诉我怎么做?我还尝试: NSDecimalNumber(value: 10010001

我有一个像100100000000001010001这样的数字,当我将一个数字存储在某个变量中时,比如:

let numb =  100100010000001010001
它给了我一个错误:

整数文字“100100000010001”存储到“Int”时溢出

我还尝试了其他方法,如:

var number:UInt64 =  100100010000001010001
我只想在这个号码上再加一个号码。谁能告诉我怎么做?我还尝试:

NSDecimalNumber(value: 100100010000001010001)

而且它也不起作用。

Swift允许您以不同的基址写入整数文本:

  • 二进制:
    0b100101
  • 八进制:
    0o47
  • 十六进制:
    0xd4f
  • 十进制:
    3456
    (无前缀)
这在Swift手册的章节中有介绍

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

let numb = 0b100100010000001010001
或者,您可以使用基数从字符串创建
Int

let numb = Int("100100010000001010001", radix: 2)

0B1001000100000100001
可能重复: