GO-SDK标准库2:math

package main

import (
    "math/big"
    "fmt"
)

func main() {

    //创建大数(值可以突破int64)
    bigInt1 := big.NewInt(123)
    bigInt2 := new(big.Int)
    bigInt2.SetString("314159265358979323846264338327950288419716939937510582097494459", 10)
    fmt.Printf("type=%T,value=%v\n",bigInt1,bigInt1)
    fmt.Printf("type=%T,value=%v\n",bigInt2,bigInt2)

    //大数的计算
    bigx := big.NewInt(1)
    big1 := big.NewInt(11)
    big2 := big.NewInt(3)
    fmt.Println(bigx.Add(big1, big2),bigx)//14
    fmt.Println(bigx.Sub(big1, big2),bigx)//8
    fmt.Println(bigx.Mul(big1, big2),bigx)//33
    fmt.Println(bigx.Div(big1, big2),bigx)//3
    fmt.Println(bigx.Mod(big1, big2),bigx)//2
    fmt.Println(bigx.And(big1, big2),bigx)//3
    fmt.Println(bigx.Or(big1, big2),bigx)//11
    fmt.Println(bigx.Xor(big1, big2),bigx)//8

    //每一步的结果都重新给bigx赋值,所以事实上得到的是最后一步的结果
    fmt.Println(bigx.Add(big1,big2).Sub(big1,big2).Mul(big1,big2).Div(big1,big2))

    //(11+3)*2%3=1
    fmt.Println(bigx.Mod((bigx.Mul((bigx.Add(big1, big2)),big.NewInt(2))),big.NewInt(3)))
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值