go语言的学习记录day2-基本运算

本文记录了Go语言中的基本运算,包括数学运算、比较/关系运算、逻辑运算和位运算。数学运算中提到了加减乘除、自增自减等操作;比较运算涉及大于、小于、等于等关系;逻辑运算涵盖与、或、非操作;位运算部分讲解了按位与、或、异或以及左移、右移操作,并通过实例展示了运算结果。
摘要由CSDN通过智能技术生成

基本运算

数学运算

运算符 :+、-、*、/、%、++、–(在go语言中都是先计算,再赋值,没有–a、++a这种写法)
实例:

 func main() {
	fmt.Println(10 + 3)
	fmt.Println(10 - 3)
	fmt.Println(10 * 3)
	fmt.Println(10 / 3) //整型除以整型还是整型
	fmt.Println(10.0 / 3)
	fmt.Println(10 % 3)//求模

	//四则运算,使用括号代表优先级
	fmt.Println(((1 + 2) * 3 / 4) )
}

以上运行结果为
在这里插入图片描述
四舍五入
纯舍:不管后面的小数有多大,都直接舍去
纯入:不管后面的小数有多小,都会进一

 func main() {
	//四舍五入
	fmt.Println(math.Round(3.3))
	fmt.Println(math.Round(3.5))
	fmt.Println(math.Round(-3.3))
	fmt.Println(math.Round(-3.5))
	//纯舍
	fmt.Println(math.Floor(3.9))
	//纯入
	fmt.Println(math.Ceil(3.1))
}

运行结果如下
在这里插入图片描述

 func main() {
 
	//绝对值
	fmt.Println(math.Abs(-3.3))
	
	//乘方
	fmt.Println(math.Pow(2, 3))
	
	//开方,平方根(Sqrt只是平方根)
	fmt.Println(math.Sqrt(9))
	fmt.Println(math.Pow(8, (1.0 / 3))) //开立方根
	
	//三角函数
	fmt.Println(math.Sin(30.0/180) * math.Pi)
	//反正弦,求正弦为0。5的弧度,Pi/6,即30度
	fmt.Println(math.Asin(0.5))
	
}

运行结果如下
在这里插入图片描述

比较/关系运算

运算符:>、>=、<、<=、==、!=
实例:

func main() {
	a, b := 3, 4
	fmt.Println(a > b)
	fmt.Println(a >= b)
	fmt.Println(a < b)
	fmt.Println(a <= b)
	fmt.Println(a == b)
	fmt.Println(a != b)
}

运行结果如下
在这里插入图片描述

逻辑运算

运算符:&&、||、!
实例:

func main() {

	var a = true
	b := false

	fmt.Printf("a与b结果为%v\n", a && b)
	fmt.Printf("a或b结果为%v\n", a || b)
	fmt.Printf("a与非b结果为%v\n", !(a && b))

}

运行结果如下
在这里插入图片描述

位运算

运算符:&、|、^、<<(左移)、>>(右移)
实例:

func main() {
	fmt.Println(12 & 10)
	fmt.Printf("12 & 10的结果:十进制%d,二进制%b\n", 12&10, 12&10)
	fmt.Printf("12 | 10的结果:十进制%d,二进制%b\n", 12|10, 12|10)
	fmt.Printf("12 ^ 10的结果:十进制%d,二进制%b\n", 12^10, 12^10)

}

运行结果如下
在这里插入图片描述
按位与:12=1100, 10=1010 ,12&10=1000
再转换为十进制
1 * 23 + 0* 22 +0* 21 +0* 20 =8

移位运算
左移

func main() {

	/*无符号 没有负数*/
	var a uint8 = 12//0000 1100
	fmt.Println(a<<2)
	fmt.Println(a<<3)
	fmt.Println(a<<4)
	fmt.Println(a<<5)//1000 0000

}

运行结果如下:
在这里插入图片描述

func main() {

	//(符号位为1则是负数=>补码=>减一取反得到源码)
	var a int8 = 12
	fmt.Println(a << 2)
	fmt.Println(a << 3)
	fmt.Println(a << 4) //1100 0000为负数(-64)
}

运行结果如下:
在这里插入图片描述
右移(不需要考虑符号位)

func main() {
	var a uint = 12
	fmt.Println(a >> 2) //3
	fmt.Println(a >> 3) //1
	fmt.Println(a >> 4) //0
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值