golang 기본 변환

王林
풀어 주다: 2023-05-16 13:13:08
원래의
1158명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿