기본 변환을 수행하는 C++ 프로그램을 작성하려고합니다. 기본 10을 기본 n 변환으로 변환
내가 20
2에서 다른 모든 정수 기지 진수로 변환 할
이 있습니까 효율적이고 구현하기 쉬운 기본 변환을위한 알고리즘을?기본 변환을 수행하는 C++ 프로그램을 작성하려고합니다. 기본 10을 기본 n 변환으로 변환
내가 20
2에서 다른 모든 정수 기지 진수로 변환 할
이 있습니까 효율적이고 구현하기 쉬운 기본 변환을위한 알고리즘을?정확하게 어디에 문제가 있는지 이해할 수 없습니까? 기본 전환을하는 것은 매우 쉽고 어렵습니다. 당신이 직접하는 것처럼 기본 전환을 수행하십시오.
예 :
1025 (십진수)베이스 15 :
1025/15 = 68 , remainder 5
68 /15 = 4 , remainder 8
4 /15 = 0 , remainder 4
베이스 (15)의 개수는 485
:
로부터 파싱 원래 기본 컴퓨터의 기본 정수 표현 (strtol
꽤 좋습니다).
새로운 자료에 서식을 지정하십시오. (itoa
꽤 좋습니다).
직접 쓰고 싶다면 div
function을 좋아할 것입니다. 번호와 밑줄을 입력하면 가장 오른쪽 숫자가 분리됩니다. 모든 숫자를 얻기 위해 반복하십시오.
효율성을 높이려면 기본 제곱으로 나누고 한 번에 두 자리 숫자를 가져옵니다 (조회 표를 사용하여 두 자리 숫자의 ASCII 문자를 가져올 수 있음). Here's an example of some very efficient implementations. 다른베이스를 사용하도록 변경하면 어렵지 않습니다.
하나의 숫자에서 다른 숫자로 숫자를 변환하는 방법은 하나뿐입니다. 문제가 정확히 무엇입니까? –
"2에서 20까지의 다른 모든 기지"라고 말하면 2에서 20까지의 모든 실수가 있다고 가정합니다. 비현실적인 기초가없고, 비 정수의 기초가 없습니까? 그것들은 더 어렵습니다. –
또한 문제는 무엇입니까? 지금까지 가지고있는 코드를 보여주십시오. –