1. 程式人生 > 其它 >21 Go 二進位制數轉成其他進位制

21 Go 二進位制數轉成其他進位制

二進位制轉八進位制 規則:將二進位制數每三位一組(從低位開始),每三位轉成一位八進位制數即可 PS:為什麼每三位一組,因為三位二進位制最大數為111,正好能表達八進位制的最大數7   案例:請將二進位制數 11010101 ,轉成八進位制數
1 str := `將二進位制數 11010101 ,轉成八進位制數
2 11 010 101 能分解成三位的八進位制數
3 3  2   5
4 325`
5 num := 0325
6 fmt.Println(str)
7 fmt.Printf("二進位制數 %b 轉成八進位制數為 %o \n", num, num) // 二進位制數 11010101 轉成八進位制數為 325
二進位制數轉十六進位制 規則:將二進位制數每四位一組(從低位開始),每四位轉成一位十六進位制數即可 PS:為什麼每四位一組,因為四位二進位制最大數為1111,正好能表達十六進位制的最大數F   案例:請將二進位制數 1111110110 ,轉成十六進位制數
1
str = `將二進位制數 1111110110 ,轉成十六進位制數 2 11 1111 0110 能分解成三位的十六進位制數 3 3 F 6 4 3F6` 5 num = 0X3F6 6 fmt.Println(str) 7 fmt.Printf("二進位制數 %b 轉成十六進位制數為 %X \n", num, num) // 二進位制數 1111110110 轉成十六進位制數為 3F6