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

22 Go 其他進位制轉二進位制

八進位制轉二進位制 規則:將八進位制的每一位數,轉成對應的三位的二進位制數,然後拼接在一起即可 PS:為何八進位制的每一位轉成三位的二進位制數,因為八進位制任何一位的最大數為7,正好對應三位二進位制的最大數111   案例:請將0237轉成二進位制數
1 str := `將0237轉成二進位制數
2 2    3    7
3 010    011    111
4 010011111`
5 // go的整型不能表達二進位制數,我們定義一個八進位制/十六的進位制的整型變數
6 num := 0237
7 fmt.Println(str)
8 fmt.Printf("八進位制數為 %o 轉成二進位制數 %b \n", num, num) // 八進位制數為 237 轉成二進位制數 10011111
八進位制轉十六進位制 規則:將十六進位制的每一位數,轉成對應的四位的二進位制數,然後拼接在一起即可 PS:為何十六進位制的每一位轉成四位的二進位制數,因為十六進位制任何一位的最大數為15,正好對應三位二進位制的最大數1111   案例: 請將0X2D7轉成二進位制數
1
str = `將0X2D7轉成二進位制數 2 2 D 7 3 0010 1101 0111 4 001011010111` 5 num = 0X2D7 6 fmt.Println(str) 7 fmt.Printf("十六進位制數為 %X 轉成二進位制數 %b \n", num, num) // 十六進位制數為 2D7 轉成二進位制數 1011010111