兄弟连Go语言培训教程 SDK标准库2:math

XDLGo · 2018-09-17 14:20:49 · 671 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-09-17 14:20:49 的主题,其中的信息可能已经有所发展或是发生改变。

  兄弟连教育Go语言培训课程是由清华、微软和谷歌名师历时半年时间研发出的独一无二的体系化课程。

  目前用户普遍对于区块链认知不足,加之专业人才的短缺及其高薪诱惑力,导致市场上衍生出多家培训机构。兄弟连教育区块链学院院长尹正表示,面对鱼龙混杂的培训市场,消费者需仔细辨别。

  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)))

  }

  更多区块链视频教程/源码/课件/学习资料-企鹅QUN:591229276


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

671 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传