golang은 강력한 기능과 간결한 구문으로 인해 점점 더 많은 개발자가 선택하는 매우 뛰어난 프로그래밍 언어입니다. golang에서 염기변환은 매우 기본적이고 흔히 사용되는 연산입니다. golang의 염기변환에 대해 알아봅시다.
golang에서 일반적으로 사용되는 진수는 2진수, 8진수, 10진수, 16진수입니다. 이러한 다양한 베이스를 변환하는 방법을 살펴보겠습니다.
1. 십진수를 다른 진수로 변환
golang에서는 fmt 패키지의 FormatInt 함수를 사용하여 십진수를 지정된 진수의 문자열로 변환할 수 있습니다. 이 함수의 프로토타입은 다음과 같습니다.
func FormatInt(i int64, base int) string
여기서 i는 변환해야 하는 십진수를 나타내고 base는 대상 진수(2, 8, 10 또는 16)입니다. 예를 들어 십진수 18을 이진수로 변환하려면 코드는 다음과 같습니다.
package main import ( "fmt" "strconv" ) func main() { n := int64(18) b := strconv.FormatInt(n, 2) fmt.Printf("2进制:%s ", b) }
실행 결과는 다음과 같습니다.
2进制:10010
위 코드에서 strconv의 FormatInt 함수를 사용하여 십진수 18을 이진수 문자열로 변환합니다. 그리고 인쇄하면 나옵니다.
마찬가지로 밑수 매개변수를 변경하여 십진수를 다른 밑수로 변환할 수 있습니다. 예를 들어, 18진수를 8진수나 16진수로 변환하려면 코드는 다음과 같습니다.
package main import ( "fmt" "strconv" ) func main() { n := int64(18) o := strconv.FormatInt(n, 8) h := strconv.FormatInt(n, 16) fmt.Printf("8进制:%s ", o) fmt.Printf("16进制:%s ", h) }
실행 결과는 다음과 같습니다.
8进制:22 16进制:12
2. 다른 진수를 10진수로 변환합니다.
golang에서는 ParseInt 함수를 사용할 수 있습니다. 변환할 strconv 패키지는 숫자의 문자열 표현을 10진수로 변환합니다. 이 함수의 프로토타입은 다음과 같습니다.
func ParseInt(s string, base int, bitSize int) (i int64, err error)
그중 s는 변환할 문자열을 나타내고, base는 s의 밑수를 나타내며 0, 2, 8, 10 또는 16이 될 수 있으며, bitSize는 변환할 자릿수를 나타냅니다. 결과는 0 또는 8, 16, 32 또는 64일 수 있습니다. 예를 들어 이진수 10010을 십진수로 변환하려면 코드는 다음과 같습니다.
package main import ( "fmt" "strconv" ) func main() { b := "10010" n, _ := strconv.ParseInt(b, 2, 64) fmt.Printf("10进制:%d ", n) }
실행 결과는 다음과 같습니다.
10进制:18
위 코드에서 strconv의 ParseInt 함수를 사용하여 이진수 문자열을 십진수로 변환하고 인쇄해 보세요.
마찬가지로, 다른 진수의 문자열을 십진수로 변환할 수 있습니다. 단지 염기 매개변수만 변경하면 됩니다. 예를 들어 8진수 문자열 "22" 또는 16진수 문자열 "12"를 10진수로 변환하는 경우 코드는 다음과 같습니다.
package main import ( "fmt" "strconv" ) func main() { o := "22" h := "12" on, _ := strconv.ParseInt(o, 8, 64) hn, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("8进制:%d ", on) fmt.Printf("16进制:%d ", hn) }
실행 결과는 다음과 같습니다.
8进制:18 16进制:18
위 코드에서 볼 수 있듯이 10진수 golang 변환은 매우 쉽습니다. Golang 개발 작업에는 염기 변환에 능숙한 것이 필수적입니다.
위 내용은 golang 기본 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!