디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

횽들 C언어 프로그래밍 간단한거 질문점 받아주세요.

124124(110.11) 2011.01.23 17:36:12
조회 111 추천 0 댓글 5


일단 나는 좀 왕 초보야. 맨 처음에는 비트연산자를 이용해서 입력받은 숫자를 x칸을 왼쪽으로 회전시키고 그것의 정수값을 가지는 프로그램을 짰어. 그런데 2진수를 같이 표시하는게 좋겠다는 생각이 들어서 2진수를 표시하려고 했는데 2진수를 출력하는 방법을 몰라서 그냥 배열이랑 위에 MAX선언하고 10진수를 2진수 스트링으로 만들어주는 함수를 짜서 배열을 프린트 했어. 그런데 너무 눈에 거슬리는게 만약에 64를 4칸 돌렸다고 하면

1000000
1000

이렇게 나와버려. 넘 거슬려서

1000000
0001000

이렇게 만들고 싶은데 내 부족한 머리로는 나오는 방법이 배열을 하나 더 선언해서 배열을 가지고 노는 방법밖에 없어. 그런데 그랬다가는 비트연산자를 아예 쓸 필요가 없어서 쉬프트연산자를 써서 만들어야 한다는 조건을 어긴다는거야. 또 프로그램이 지저분한 것 같기도 하고.
 %10s 이건 쓰기가  너무 싫어. 그냥 오른쪽에 정렬해주는 효과고 자리수에 구애를 받으니까. 횽들은 뭔가 좋은 방법이 있어?? 그리고 내가 짠것보다 훨씬 간단하게 할 수 있으면 그것도 알려주면 진짜 감사감사.




#include <stdio.h>
#include <stdlib.h>
#define MAX 1000

int conv10to2(int n; char st;);

int main()
{
    int i, n, m;
    int c;          /*helper*/
    char twostr[MAX];

    i = n =0;
    printf("숫자를 입력해라.\\n");
    scanf("%d", &n);
    c = n;
    for(i=0; c>=1;++i)      /* i is number of bits*/
        c = c>>1;
    printf("회전시킬 숫자를 입력해라.\\n");
    scanf("%d", &c);
    printf("----------------------------------------------------------\\n");
    c = c%i;
    conv10to2(twostr, n);
    printf("%10d = %20s\\n", n, twostr);
    for(m=0; m<=MAX-1; ++m)
        twostr[m] = \'\\0\';
    n = (n<<c) - ((n>>(i-c))<<i) + (n>>(i-c));
    conv10to2(twostr, n);
    printf("%10d = %20s\\n", n, twostr);
    printf("----------------------------------------------------------\\n");
    printf("결과 = %d", n);
    return 0;
}

int conv10to2(st, n)
char st[];
int n;
{
    int i, c;
    char helper[MAX];       /*reversed string of the number in the binary type*/

    c = 0;
    for(i=0; i>= MAX -1; ++i)
        helper[i] = \'\\0\';
    for(i=0; n>=1; ++i)
    {
        if(n%2 == 0)
        {
            n /=2;
            helper[i] = \'0\';
        }
        else
        {
            n = (n-1)/2;
            helper[i] = \'1\';
        }
    }
    --i;
    for(c=0; c<=i; ++c)
    {
        st[c] = helper[i-c];
    }
    return 0;
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 외모와 달리 술 일절 못 마셔 가장 의외인 스타는? 운영자 24/07/01 - -
232732 공부하기 싫은 고딩들 봐라 [12] kukyakya(110.76) 11.01.29 355 0
232731 형들아 야심한밤에 노래나 듣자 꿀레(14.33) 11.01.29 62 0
232730 아 배고프다 [2] (121.159) 11.01.29 102 0
232727 비쥬얼 컴팩 포트란 어디서 구하남요 ? 포트란(168.131) 11.01.29 134 0
232726 아;내한심한고민이랄까할꺼없는형들봐주라 [17] 고자(123.248) 11.01.29 213 0
232725 어플로 돈을 벌려면 서비스하라! [2] 갑자원(61.255) 11.01.29 143 0
232724 형들 php좀 도와줘!!ㅠㅠ [10] 형들 도와줘(125.129) 11.01.29 116 0
232723 [언어, 종류, 경력, 학력 무관...]웹 프로그래밍 개발자 구합니다 ㅠ [18] 이민주(218.147) 11.01.29 330 0
232722 api고수님들 도와주세요 [16] 뉴빙(59.25) 11.01.29 131 0
232721 Scala+Lift vs node.js+express 뭐가 낳냐? [2] 열무향햄(110.15) 11.01.29 194 0
232720 프갤러라면 최고의 스마트폰을 알꺼같에 [6] 뿌잉뿌잉(113.59) 11.01.28 126 0
232719 SQL 좀 하냐? [8] ?(211.227) 11.01.28 125 0
232718 형드락, 책에있는건 싹다 외우나여?? [2] ㅁㅁㅁㅁ(112.151) 11.01.28 117 0
232717 이것들 차이점좀 설명해줘 [6] 비우그라갤로그로 이동합니다. 11.01.28 97 0
232716 오늘 TV에서 핫도그 파는 20대 나왔는데 [1] 꿀레(14.33) 11.01.28 105 0
232715 님들도 혼잣말 소리 막 내면서 프로그래밍하고 그러나요 ? [10] 미츠도모에갤로그로 이동합니다. 11.01.28 141 0
232714 vs2010 msdn 웹으로 통합되었음? [2] 왁스맛치즈갤로그로 이동합니다. 11.01.28 219 0
232712 프로그래머에게 수학, 영어가 많이 필요하다는데... [5] 컴돌이(58.77) 11.01.28 271 0
232710 프로그래밍 공부 솔직히 길고도 지루하다. [1] (61.43) 11.01.28 131 0
232709 근데 고졸이면서 포플, 경력없는데 내 실력 어필할 수 있는 방법있음?? [3] (61.43) 11.01.28 161 0
232708 컴맹임 알려주센 [2] 116.44(116.44) 11.01.28 63 0
232707 형드라 , 비주얼스튜디오 2010 별로라는게 최트루? [22] ㅁㅁㅁㅁ(112.151) 11.01.28 292 0
232706 프로그래머이자 올드게이머들 꼭 봐줘. 너무 궁금한게 있어 [15] 찌질이(118.176) 11.01.28 232 0
232705 고졸이 프로그래머 한다고 입사지원하면 뭔 생각듬? [2] (61.43) 11.01.28 199 0
232702 FTP로 올라가면 아이콘이 안바뀡미다 [3] 금고래갤로그로 이동합니다. 11.01.28 67 0
232701 알까기 충돌 판정은 무슨 함수로 하나요??? [6] 컴돌이(58.77) 11.01.28 207 0
232700 니들 하루에 3번 연속 약속펑크 난적있냐;; [3] 일광면(119.198) 11.01.28 132 0
232699 도서관근처로 이사가고 싶다. [1] 갑자원(58.180) 11.01.28 106 0
232698 되...되....된다..... [1] 116.44(116.44) 11.01.28 175 0
232693 프로그래밍배워보고싶은데 뭐부터 시작해야하나요 [1] 입문者(218.55) 11.01.28 175 0
232692 PocketBullhat 개발 1탄 [4] McHello갤로그로 이동합니다. 11.01.28 813 0
232691 담배 왜 피는 줄 알아? [1] -()-(211.50) 11.01.28 133 0
232690 페이퍼 님 !! 형!! 누나?!! 호잇(182.209) 11.01.28 61 0
232689 오토프로그램말인데... 호잇(182.209) 11.01.28 97 0
232688 2학년 1학기 과목이름이 운영체제인데 대체 뭘배우는거지 [5] 영광의비석갤로그로 이동합니다. 11.01.28 116 0
232687 자바스킵트에서 n개의 숫자 자릿수만큼 리턴할려면 어떻게 함.? [3] 스크립터(210.182) 11.01.28 152 0
232686 담배가 몸에 좋은점도 있는듯 [3] 갑자원(58.180) 11.01.28 151 0
232685 잉여들아 [1] 히밤리눅스갤로그로 이동합니다. 11.01.28 68 0
232682 form action get 급한 질문! [6] URA!갤로그로 이동합니다. 11.01.28 113 0
232680 형들 코딩 관련해서 물어 볼게 있는데 [8] 안숭(175.200) 11.01.28 175 0
232678 배고프다 [2] 유리한갤로그로 이동합니다. 11.01.28 151 0
232677 간단한게임 한글화를 하고 있는데 리버스 관련해서 가르침좀 주세요 [4] 나블빠아님(203.236) 11.01.28 266 0
232676 mysql 쿼리 캐싱 병맛은 해결되었나염? 훗쇼갤로그로 이동합니다. 11.01.28 75 0
232675 mfc가 객체지향이잖아 감이 잘 안오는데 말이지 [2] 츄퐈춥스갤로그로 이동합니다. 11.01.28 141 0
232674 월2만원으로 유니세프랑 함께 먹여키워놨더니!!! 갑자원(58.180) 11.01.28 130 0
232673 앗쌀횽 그럼 이런 메모리풀은 어때? [2] 카디군갤로그로 이동합니다. 11.01.28 186 0
232672 1부터 1000까지 더하는 획기적인 알고리즘 [8] 물속의다이아갤로그로 이동합니다. 11.01.28 285 0
232671 네이버pc그린 이거 약간 좀 병맛이다.. [2] 영광의비석갤로그로 이동합니다. 11.01.28 127 0
232670 형들 winapi 에서 gdi가 누수 된다면 어떻게 해결 하죠? [2] 안숭(175.200) 11.01.28 66 0
232669 XSS, 쿠키 같은거 배우려면 뭘 공부해야 할까? [4] 영광의비석갤로그로 이동합니다. 11.01.28 190 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2