게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 함수하는데.. 이게 도대체 무슨 소리일까요..
게시물ID : computer_46564짧은주소 복사하기
작성자 : Hacktivist
추천 : 0
조회수 : 460회
댓글수 : 9개
등록시간 : 2012/05/10 14:19:45
입력받은 문자에서 1로 되어 있는 비트의 수를 구하는 프로그램




#include<stdio.h>


int bitCount(char ch);

int main()
{
    char ch;

    printf("문자 : ");
    scanf("%c",&ch);

    printf("%d\n",bitCount(ch));

    return 0;

}
int bitCount(char ch)
{
    int count=0;

    for(;ch!=0;ch>>=1)
    {
        if (ch&1)
            count++;
    }
    return count;
}



책에 있는 소스 그대로 옮겼습니다. 근데 이해 안가는데 2가지 있어서요...


밑에 보면 for문이 있는데, 원래 for문은 형식이
(식1;식2;식3;) 인데, 저기서는 식1이 빠졌는데 왜 빠진건가요??

그리고 식3에 보면 ch>>=1 이라고 있는데, 이건 도대체 무슨 표시인가요?!

ch>>1 은 쉬프트 연산이고

ch>=1 은 ch가 1보다 크거나 같다 라는 소린데..

ch>>=1은 도대체 무슨 소린지 모르겠네요 ㅠㅠ
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호