当前位置:   article > 正文

golang基础学习—输入、位运算与移位运算_golang 位移

golang 位移

键盘输入语句

介绍:在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。
步骤:
1.导入fmt包
2.调用fmt包的fmt.Scanln()或者fmt.Scanf()
demo:从控制台接收用户信息,【姓名,年龄,薪水,是否为男】

package main
import (
	"fmt"
)
func main() {
	//键盘输入的使用

	//使用Scanln()
	//先声明变量
	var name string
	var age int
	var salary float32
	var isman bool
	// fmt.Println("请输入姓名")
	// fmt.Scanln(&name)
	// fmt.Println("请输入年龄")
	// fmt.Scanln(&age)
	// fmt.Println("请输入薪水")
	// fmt.Scanln(&salary)
	// fmt.Println("请输入是否为男")
	// fmt.Scanln(&isman)
	// fmt.Printf("姓名:%v 年龄:%v 薪水:%v 是否为男:%v\n", name, age, salary, isman)

	//使用Scanf(),可以按照指定格式输入
	fmt.Println("请输入你的姓名、年龄、薪水、是否为男,使用空格隔开")
	fmt.Scanf("%s %d %f %t", &name, &age, &salary, &isman)
	fmt.Printf("姓名:%v 年龄:%v 薪水:%v 是否为男:%v\n", name, age, salary, isman)
}
  • 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

位运算

  1. 位运算的思考题:
func main(){
	var a int = 1 >> 2
	var b int = -1 >> 2
	var e int = -2 >> 2
	var c int = 1 << 2
	var d int = -1 << 2
	//a,b,c,d的结果是多少
	fmt.Println("a=",a) //0
	fmt.Println("b=",b) //-1
	fmt.Println("e=",e) //-1
	fmt.Println("c=",c) //4
	fmt.Println("d=",d) //-4
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  1. 在golang中下面的表达式运算的结果是:
func main(){
	fmt.Println(2 & 3) //2
	fmt.Println(2 | 3) //3
	fmt.Println(2 ^ 3) //1
	fmt.Println(-2 ^ 2) //-4
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

计算细节

原码、反码、补码

对于有符号的而言:

  1. 二进制的最高位为符号位:0表示正数,1表示负数
  2. 正数的原码,反码,补码都一样
  3. 复数的反码=它的原码符号位不变,其他位取反(0->1,1->0)
  4. 负数的补码=它的反码+1
  5. 0的反码和补码都是0
  6. 在计算机运算的时候,都是以补码的方式来运算的,因为计算机只能相加。

位运算符

golang中有3个位运算
分别是:按位与&、按位或|、按位异或^,它们的运算规则是:
按位与& :两位全为1,结果为1,否则为0
按位或|:两位有一个为1,结果为1,否则为0
按位异或^ :两位一个为0,一个为1,结果为1,否则为0

移位运算符

golang中有2个移位运算符:
右移运算符>>、和左移运算符<<,运算规则:
右移运算符>>:低位溢出,符号位不变,并用符号位补溢出的高位
左移运算符<<:符号位不变,低位补0
案例演示:
a := 1 >> 2 //0000 0001 => 0000 0000 = 0
c := 1 << 2 // 0000 0001 => 0000 0100 = 4

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/790204
推荐阅读
相关标签
  

闽ICP备14008679号