zoukankan      html  css  js  c++  java
  • Go基础结构与类型05---程序运算

    package main
    
    import (
    	"fmt"
    	"math"
    )
    
    func main() {
    	/*加减乘除,求余*/
    	fmt.Println("5+3=", 5+3)
    	fmt.Println("5-3=", 5-3)
    	fmt.Println("5*3=", 5*3)
    	fmt.Println("5/3=", 5/3)
    	fmt.Println("5%3=", 5%3)
    
    	/*乘方和开方*/
    	fmt.Println("5^3=", math.Pow(5,3))
    	fmt.Println("125开3次方=", math.Pow(125.0, 1.0/3))
    
    	/*
    	四舍五入
    	负数的四舍五入原则:先对绝对值四舍五入,再加负号
    	*/
    	fmt.Println("3.49的四舍五入", math.Round(3.49))
    	fmt.Println("-3.49的四舍五入", math.Round(-3.49))
    	fmt.Println("3.51的四舍五入", math.Round(3.51))
    	fmt.Println("-3.51的四舍五入", math.Round(-3.51))
    
    	/*纯舍,纯入*/
    	fmt.Println("3.99的四舍五入", math.Floor(3.99))
    	fmt.Println("3.01的四舍五入", math.Ceil(3.01))
    
    	/*绝对值*/
    	fmt.Println("-3.14的绝对值", math.Abs(-3.14))
    
    	/*三角函数:参数必须是弧度而不是角度*/
    	fmt.Println("30°的正弦=", math.Sin((30.0/180)*math.Pi))
    	fmt.Println("30°的余弦=", math.Cos((30.0/180)*math.Pi))
    	fmt.Println("30°的正切=", math.Tan((30.0/180)*math.Pi))
    	fmt.Println("30°的余切=", 1.0/math.Tan((30.0/180)*math.Pi))
    
    	/*反三角函数*/
    	fmt.Println("正弦为0.5的角度是", math.Asin(0.5)) //0.5235987755982989=30度的弧度表示
    
    }
    

      

    比较运算和逻辑运算

    /*比较运算
    比较运算符:>,<,==,!=,>=,<=
    比较运算的结果是布尔值:true或false*/
    
    /*
    逻辑运算
    逻辑与:两者都为真,结果才为真
    逻辑或:两者只要有一个为真,结果就位真
    逻辑非:非真为假,非假为真
    */
    func main() {
    	a1 := (1+1==2)//true
    	a0 := (1+1!=2)//false
    	b1 := (1+1>=2)//true
    	b0 := (1+1<2)//false
    	fmt.Println(a1,a0,b1,b0)
    
    	/*逻辑与*/
    	fmt.Println(a1 && b1)//true
    	fmt.Println(a1 && b0)//false
    	fmt.Println(a0 && b1)//false
    	fmt.Println(a0 && b0)//false
    
    	/*逻辑或*/
    	fmt.Println(a1 || b1)//true
    	fmt.Println(a1 || b0)//true
    	fmt.Println(a0 || b1)//true
    	fmt.Println(a0 || b0)//false
    
    	/*逻辑非*/
    	fmt.Println(!a1)//false
    	fmt.Println(!a0)//true
    	fmt.Println(!b1)//false
    	fmt.Println(!b0)//true
    }
    

    输出结果:

    true false true false
    true
    false
    false
    false
    true
    true
    true
    false
    false
    true
    false
    true
    

    位运算

    /*位运算
    & 按位与 两位都为1,结果才为1
    | 按位或 只要有一位为1,结果就位1
    ^ 按位异或 两位不相同,结果就为1,否则就为0
    >>
    <<
    */
    func main() {
    	//a := 23
    	//b := 34
    	var a uint8 = 23
    	var b uint8 = 34
    	fmt.Println(a & b)//2
    	fmt.Println(a | b)//55
    	fmt.Println(a ^ b)//53
    
    	/*移位运算*/
    	fmt.Println(a << 2)//92
    	fmt.Println(a >> 2)//5
    
    	/*左移的溢出
    	a为无符号8位整型,向左侧溢出后,最高位为数据位*/
    	fmt.Println(a << 4)//112
    	fmt.Println(a << 5)//1110,0000无符号为224
    
    	/*左移的溢出
    	a为有符号8位整型,向左侧溢出后,最高位为符号位---要考虑正负数问题
    	最高位为0,非负数
    	最高位为1,负数的反码,-1在取反得到绝对值*/
    	var c int8 = 23
    	fmt.Println(c << 5)//1110,0000有符号为-32
    }
    

    输出:

    2
    55
    53
    92
    5
    112
    224
    -32
    

      

  • 相关阅读:
    Android Studio cannot launch avd in emulator问题解决
    ios设备安装破解软件及自己下载的软件ipa教程
    解决数据库连接错误 您在wp-config.php文件中提供的数据库用户名和密码可能不正确,或者无法连接到localhost上的数据库服务器,这意味着您的主机数据库服务器已停止工作。
    地图工具类大集合
    在家云看景点的皮蛋TV
    在线本地视频翻译
    南瓜影视特权
    韩剧tv特权来了
    网盘下载合集,宽带多快,我多快
    白嫖永久免费电脑端美图秀秀
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/11745296.html
Copyright © 2011-2022 走看看