Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- FTP
- 딕셔너리
- background service
- 문자열파싱
- C
- vscode
- dictionary
- vs code
- 문자열다루기
- ws2_32.lib
- 소켓프로그래밍
- UI
- flutter
- 진수변환기
- 자료구조
- 코틀린
- Mat 변수
- 메모리반환
- socket
- InfluxDBClient
- 연결리스트
- dart
- 콘솔 키보드 이벤트
- Kotlin
- InfluxDB
- Linked List
- 파일입출력
- Android
- foreground service
- 문자열 다루기
Archives
- Today
- Total
무슨 일로 C 하셨습니까?
[C] 진수 변환기__2.0(Final) 본문
역시 문체는 그냥 편한대로 하는것이 좋은것 같다
무슨 음슴체는 말도 안되는 소리였던걸로...
10진수를 n진수로,
n진수를 10진수로 바꾸는 함수를 구현했다.
하지만 본디 목적은 무엇이겠는가
바로 n진수를 m진수로 바꾸는게 아니겠는가
구현은 간단할 것이다
N진수 → 10진수 → M진수 로 변환시켜주면 간단할 것이다.
앞서 구현한 두 함수를 이용하면 될 것 같다
시작은 마찬가지로 이름없는 함수에서 시작
char* g(char* Number, int FromBit, int ToBit) {}
각 인자는 숫자와 해당 숫자가 몇 진수인지 그리고 몇진수로 변환할지 넘겨주면 되겠다.
char* g(char* Number, int FromBit, int ToBit) {
int temp = NumberConverter_N2Dec(Number, FromBit);
return NumberConverter_Dec2N(temp, ToBit);
}
함수 본체는 앞서 구현한 함수를 각각 사용하면 된다
굳이 언급하자면
N2Dec 함수는 n진수를 10진수로
Dec2N 함수는 10진수를 n진수로 변환하는 함수이다
( 진수라는 적절한 영어단어를 찾지 못해서 대강 이름 지었다. Dec은 Decimal을 의미한다 )
마지막으로 진수 변환기라는 이름으로 함수를 바꿔주고 예외만 잡아주면 되겠다.
// n진수를 m진수로 변환하는 함수
char* NumberConverter(char* Number, int FromBit, int ToBit) {
if (ToBit > 36 || ToBit < 2 || FromBit > 36 || FromBit < 2) {
printf("Convert Error\n");
return "Convert Error";
}
int temp = NumberConverter_N2Dec(Number, FromBit);
return NumberConverter_Dec2N(temp, ToBit);
}
이 함수가 정상 작동하는지는 직접 테스트해보길 바란다
그리고 다음에 또 쓰일 수 있으니 프로젝트에 잘 보관해두겠다.
'C - 이걸 굳이? > 유틸리티' 카테고리의 다른 글
[C] 문자열 다루기::문자열 검색 (0) | 2020.09.04 |
---|---|
[C] 문자열 다루기::문자열 비교 (0) | 2020.09.02 |
[C] 문자열 다루기::문자열 합성 (0) | 2020.08.25 |
[C] 진수 변환기__1.1 (0) | 2020.08.20 |
[C] 진수 변환기__1.0 (0) | 2020.08.18 |
Comments