键盘输入

基本介绍

在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取

调用 fmt 包的 fmt.Scanln() 或者 fmtScanf()

使用案例

从控制台接收用户信息,[姓名,年龄,薪水,是否通过考试 ]

运行结果

进制

对于整数,有四种表示方式:

  1. 二进制: 0,1 ,满2 进 1。在 golang 中,不能直接使用二进制来表示一个整数,它沿用了 c 的特点。
  2. 十进制: 0-9 ,满 10 进 1
  3. 八进制: 0-7 ,满8 进 1.以数字0 开头表示
  4. 十六进制: 0-9 及 A-F,满 16 进1.以0x 或 0X 开头表示。此处的 A-F 不区分大小写。

部分进制图示

0-8
9-17

二进制转十进制

规则:从最低位开始(右边的),将每个位上的数提取出来,乘以2的(位数-1)次方然后求和。

案例: 请将二进制:1011转成十进制的数

1011=1*1+1*2+0* 2* 2+1* 2*2*2 =1+2+ 0+ 8=11

八进制转十进制

规则:从最低位开始(右边的),将每个位上的数提取出来,乘以8的(位数-1)次方然后求和。

案例:请将0123转成十进制的数

0123=3*1+2*8+1*8*8=3+16+64=83

十六进制转十进制

规则:从最低位开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。案例:请将0x34A转成十进制的数0x34A=10*1+4*16+3*16*16=10+64+768=842

十进制转二进制

规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

十进制转八进制

规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。

十进制转十六进制

规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

二进制转八进制

规则:将二进制数每三位一组(从低位开始组合),转成对应的八进制数即可

二进制转十六进制

规则:将二进制数每四位一组(从低位开始组合),转成对应的十六进制数即可

八进制转二进制

规则:将八进制数每1位,转成对应的一个3位的二进制数即可。

十六进制转二进制

规则:将十六进制数每1位,转成对应的一个4位的二进制数即可

源码、反码、补码

基本介绍

对于有符号的而言:

  1. 二进制的最高位是符号位:0表示正数,1表示负数
    1. 1 ===》 [0000 0001]
    2. -1===>[1000 0001]
  2. 正数的原码,反码,补码都一样
  3. 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0),负数的补码=它的反码+1
    1. 1原码[0000 0001] 反码[0000 0001] 补码[0000 0001]
    2. -1===>原码[1000 0001] 反码[1111 1110] 补码[1111 1111]
  4. 0的反码,补码都是0
  5. 在计算机运算的时候,都是以补码的方式来运算的

位运算

基本介绍

Golang 中有 3 个位运算: 分别是”按位与&、按位或|、按位异或^,它们的运算规则是:

  1. 按位与&: 两位全为1,结果为 1,否则为 0
  2. 按位或| : 两位有一个为 1,结果为 1,否则为 0
  3. 按位异或^ : 两位一个为 0,一个为 1,结果为 1,否则为 0

Golang 中有 2 个移位运算符: >>、<< 右移和左移.运算规则

  1. 右移运算符低位溢出,符号位不变,并用符号位补溢出的高位。右移 N 位,就是除以 2 的 N 次方
  2. 左移运算符符号位不变,低位补0。左移N位,就是乘以 2 的 N 次方。

使用案例

运行结果