(十二)golang--进制和位运算
1.基本进制 (1)二进制:0,1,满2进1 在golang中,不能直接使用一个二进制表示一个整数,可以用八进制、十进制和十六进制表示 (2)十进制:0-9,满10进1 (3)八进制:0-7,满8进1,以数字 0 开头 (4)十六进制:0-9及A-F,满16进1,以 0x或0X 开头,此处A-F不区分大小写,例如0x21AF+1=0x21B0 package main import "fmt" func main() { var i int = 5 fmt.Printf("%b \n", i) //这里^表示几次方 //转成十进制为:8^1+8^0=9 var j int = 011 fmt.Println("j=", j) //转成十进制:16^1+16^0=17 var k int = 0x11 fmt.Println("k=", k) } 2.进制之间的转换 (1)其它进制转十进制 次方相加 比如:二进制1011转为十进制:2^3+2^1+2^0=11 八进制23转为十进制:2*(8^1)+3*(8^0)=16+3=19 (2)十进制转其他进制 除法取余 11转二进制:11除以2,商为5,余数为1;5除以2,商为2,余数为1;2除以2,商为1,余数为0;1除以2,商为0,余数为1,;当商为零时,余数从后往前排列:1011 (3)二进制转八进制