>  기사  >  백엔드 개발  >  Go를 사용하여 염기 간 변환 구현

Go를 사용하여 염기 간 변환 구현

咔咔
咔咔원래의
2020-11-28 18:55:075067검색
"

이 기사에서는 Go를 사용하여 십진수와 이진수를 변환하는 방법을 소개합니다.

"

우선 일반적으로 사용되는 숫자는 모두 십진수이며 이진수에는 0과 1만 포함된다는 점을 이해해야 합니다.

그럼 10진수를 2진수로 변환하는 방법에 대해 간단히 이야기해보겠습니다.

방법 1: 짧은 나눗셈

예를 들어, 이제 값 23을 이진수로 변환해야 하며 짧은 나눗셈을 사용하여 계산합니다.

아래 그림은 변환 과정을 보여줍니다.

십진수를 2로 나누고 결과 몫을 2로 나누는 식으로 몫이 1 또는 0이 될 때까지 계속한 다음 나눗셈의 나머지 부분을 취합니다. 이는 이를 이진수로 변환한 결과입니다.

23을 이진수로 변환하면 10111이므로 나머지를 모두 뒤집으면 됩니다.

Go를 사용하여 염기 간 변환 구현
짧은 나눗셈을 사용하여 십진수를 이진수로 변환

옵션 2: Go를 사용하여 변환

Go를 사용하여 염기 간 변환 구현
go를 사용하여 십진수를 다음으로 변환 구현 바이너리

위 그림에서 Go 프로그래밍을 처음 접하는 대부분의 파트너는 이에 대해 약간의 의구심을 가질 것으로 추정됩니다. 정수가 전달될 때 계산된 데이터는 부동 소수점 유형이어야 하는데 그렇다면 어떻게 될까요? 이게 계산됐어? n /= 2

N/=2는 실제로 N=N/2이고 N은 int 유형이므로 컴파일러는 자동으로 정수가 아닌 숫자를 정수 유형으로 변환하므로 19.5가 N에 들어가므로 19

그래서 두 번째 루프 문을 실행하면 계산에 11.5를 사용하는 대신 n이 자동으로 11로 변환됩니다.

여기에서도 사용됩니다strconv.Itoa strconv 패키지는 문자열과 단순 데이터 유형 간의 유형 변환 기능을 제공합니다. <code style="font-size: 14px; word-wrap: break-word; padding: 2px 4px; border-radius: 4px; margin: 0 2px; background-color: rgba(27,31,35,.05); font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; word-break: break-all; color: rgb(271, 93, 108);">strconv.Itoastrconv包提供了字符串与简单数据类型之间的类型转换功能。

可以将简单类型转换为字符串,也可以将字符串转换为其它简单类型。

因为result是字符串类型,所以需要时Itoa来把返回的值进行类型转换,将int类型转为string类型。

最终的返回值就是10111

二进制转为十进制

将这个10111二进制转为十进制也很简单

看以下计算1*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1*2^4 = 1+2+4+0+16 = 23

간단한 유형을 문자열로 변환할 수 있고, 문자열을 다른 단순 유형으로 변환할 수도 있습니다.
결과가 문자열 유형이기 때문에 Itoa는 필요할 때 반환된 값을 유형 변환하여 int 유형을 문자열 유형으로 변환합니다.

최종 반환 값은 10111

이진수를 십진수로 변환하세요
101112진수를 10진수로 변환하는 것도 매우 간단합니다

다음 계산을 참조하세요1*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 1 *2^4 = 1+2+4+0+16 = 23

🎜“🎜🎜배움에 대한 끈기, 블로그에 대한 끈기, 공유에 대한 끈기 등은 카카가 그 이후로 늘 지켜온 신념입니다. 그의 경력. 큰 인터넷에서 Zhongkaka의 기사가 당신에게 작은 도움을 줄 수 있기를 바랍니다. 저는 카카입니다. 다음에 만나요. 🎜🎜"🎜🎜🎜🎜관련 추천: "🎜golang 튜토리얼🎜"🎜

위 내용은 Go를 사용하여 염기 간 변환 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.