big numbers
Examples of creating big number types from and to uint, string, hex, and buffers.
# Node.js
let bn = 75n;
console.log(bn.toString(10));
bn = BigInt("75");
console.log(bn.toString(10));
bn = BigInt(0x4b);
console.log(bn.toString(10));
bn = BigInt("0x4b");
console.log(bn.toString(10));
bn = BigInt("0x" + Buffer.from("4b", "hex").toString("hex"));
console.log(bn.toString(10));
console.log(Number(bn));
console.log(bn.toString(16));
console.log(Buffer.from(bn.toString(16), "hex"));
let bn2 = BigInt(100);
let isEqual = bn === bn2;
console.log(isEqual);
let isGreater = bn > bn2;
console.log(isGreater);
let isLesser = bn < bn2;
console.log(isLesser);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Output
75
75
75
75
75
75
4b
<Buffer 4b>
false
false
true
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# Go
package main
import (
"encoding/hex"
"fmt"
"math/big"
)
func main() {
bn := new(big.Int)
bn.SetUint64(75)
fmt.Println(bn.String())
bn = new(big.Int)
bn.SetString("75", 10)
fmt.Println(bn.String())
bn = new(big.Int)
bn.SetUint64(0x4b)
fmt.Println(bn.String())
bn = new(big.Int)
bn.SetString("4b", 16)
fmt.Println(bn.String())
bn = new(big.Int)
bn.SetBytes([]byte{0x4b})
fmt.Println(bn.String())
fmt.Println(bn.Uint64())
fmt.Println(hex.EncodeToString(bn.Bytes()))
fmt.Println(bn.Bytes())
bn2 := big.NewInt(100)
isEqual := bn.Cmp(bn2) == 0
fmt.Println(isEqual)
isGreater := bn.Cmp(bn2) == 1
fmt.Println(isGreater)
isLesser := bn.Cmp(bn2) == -1
fmt.Println(isLesser)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Output
75
75
75
75
75
75
4b
[75]
false
false
true
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
编辑 (opens new window)
上次更新: 2022/09/30, 11:34:22