BigNumber 0.0.4

BigNumber 0.0.4

Sylvan Martin 维护。



BigNumber 0.0.4

  • 作者:
  • Sylvan Martin

BigNumber

一个用于表示大数(256位)的 Swift 库!

这个库**不适用于**密码学;所有操作和函数都是按值传递,而不是按引用。我目前正在努力使这个库也包含仅使用指针的“安全”函数。

工作原理

此库包含名为 BigNumber 的类,它本质上就是一个256位的无符号整数。

由于输入 'BigNumber' 可能会变得相当繁琐,因此它被别名化为 'BN' 和 'UInt256' 以便于您使用 :)

BigNumber(现在将简称为BN或UInt256)是一个包含4个UInt64的大小为4的数组。

在 BigNumber.swift 文件中有公共常量详细说明此信息

/// The size of a big number
public let BN_SIZE = 4

/// Size of BN in Bytes
public let BN_SIZE_IN_BYTES = MemoryLayout<UInt64>.size * BN_SIZE

/// Size of a BN String
public let BN_STR_SIZE = (2 * BN_SIZE_IN_BYTES + 1)

BN使用Little Endian格式来表示大数。要访问数组的特定元素,请使用数组属性

let bn = BN(hexString: "2a")

let firstArrayItem = bn.array[0] // 42

您还可以直接对BN子脚本

let firstArrayItem = bn[0]