인프런 커뮤니티 질문&답변

Key님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C언어

3.8 8진수와 16진수

4294967295 to binary (변환하는 방법이 궁금합니다.)

작성

·

585

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
십진수 4294967295 를 이진수인 
11111111111111111111111111111111로 출력해보려고 여러 가지 알아보고 했습니다. 
어려운 코드가 많이 나오고 아직 이해하기는 어려웠던 것 같습니다.
실제로 제대로 출력도 못한 것 같고요!
 
지금 단계에서 이해는 되지 않더라도 어떤 함수를 사용해야 하는 지 알고 싶은데 혹시 괜찮으시다면 알려주실 수 있으실까요!
 

답변 2

0

교수님 설명하신대로, 배열을 만들어서 _itoa 함수로

itoa(INT_MAX, 배열, 2);

이렇게 넣어서 출력하면 되지 않나요??

0

안녕하세요!

우선 4294967295 는 int 로는 표현할 수 없는 숫자라 자료형에 주의를 해주셔야할거에요. 제대로된 결과를 얻기 위해선 자료형은 unsigned int 혹은 long long 을 사용하셔야 합니다.

검색을 해보니 10진수를 이진수로 변환해주는 함수를 제공하는 라이브러리는 없다고 하네요.

직접 코드를 써서 구현을 해야하는데 10진수를 이진수로 변환하는 코드에 대해서는 검색해보시면 아주 많이 나옵니다!

자세하게 과정을 설명하는 자료도 많으니 한번 참고해보시면 좋을 것 같아요!

설명이 잘 되어있다고 생각되는 링크를 첨부해봅니다.

https://dojang.io/mod/page/view.php?id=301

https://shacoding.com/2020/01/10/c%EC%96%B8%EC%96%B4-10%EC%A7%84%EC%88%98%EB%A5%BC-2%EC%A7%84%EC%88%98%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EC%9E%90-%EC%84%B8-%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95-%EC%A0%9C%EA%B3%B5/

 

 

Key님의 프로필 이미지

작성한 질문수

질문하기