Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1981] Re:당근 문자열로 받아야지요.
김백일.cedar [cedar] 3060 읽음    2003-02-17 10:21
박상묵 님이 쓰신 글 :
: 안녕하세요
:
: 각 진수숫자를 입력받아
:
: 10진수로 출력하는 비교적 간단할것 같은걸
:
: 만들어보고 (죄송합니다 이런걸 만들고 있어서..)

죄송할것까지야... 누구에게나 초보시절은 있기마련이죠.

: 있는데요
:
: 각 진수 입력을 어떻게 받으면 될까요?
:
: -_-;;

당근 문자열로 받아야지요.

문자열과 숫자간의 변환은 std::stringstream 이나 boost::lexical_cast를 쓰면 편리합니다.
제가 쓴 다음 글을 참고하세요.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_tip&no=37

참고로 8진수, 16진수 변환은 iostream에서 제공하는 oct, hex 조정자(manipulator)를 쓰면 간단하고요, 2진수 변환은 역시 ANSI C++ 라이브러리에 있는 bitset 클래스를 사용하면 편리합니다.
(http://www.sgi.com/tech/stl/bitset.html 참고)

내친 김에 프로그램 소스를 올려드립니다.
stringstream과 bitset의 사용 방법을 유의해서 보시기 바랍니다.

//---------------------------------------------------------------------------
#include <iostream>
#include <sstream>
#include <string>
#include <bitset>

//---------------------------------------------------------------------------
using namespace std;
int main()
{
    stringstream interpreter;
    string s_hex, s_oct;
    int n;

    cin >> s_hex;
    interpreter << s_hex;
    interpreter >> hex >> n;
    cout << n << endl;

    cin >> s_oct;
    interpreter << s_oct;
    interpreter >> oct >> n;
    cout << n;

    bitset<8> bs;
    cin >> bs;
    cout << bs.to_ulong() << endl;

    return 0;
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
1978 [질문] 2진수,8진수, 16진수 박상묵 1434 2003/02/15
1981     Re:당근 문자열로 받아야지요. 김백일.cedar 3060 2003/02/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.