2 진수열을 정수로 변환한다


함수명
binsz2int  2 진수열을 정수로 변환한다
형식
int binsz2int(char *str);
인수
str  2 진수 ASCIZ 캐릭터 라인
함수치
2 진수열을 나타내는 정수
주의 사항
정수의 오버플로우에 주의하는 것.

용례(binsz2int-test.c )
binsz2int("-1101");

프로그램(binsz2int.c )
int binsz2int(char *str)
{
    int val;
    int sign;
    
    while (*str == ' ' || *str == '\t') str++;
    sign = 1;
    if (*str == '+') str++;
    else if (*str == '-') {
        sign = -1;
        str++;
    }
    val = 0;
    while (*str == '0' || *str == '1')
        val = (val << 1) + (*str++ - '0');

    return sign == 1 ?  val : -val;
}
설명
2 진수열의 선두로부터, 우선 스페이스를 읽어 날린다. 다음에 부호를 처리해, 2 진수자의 각 자리수를 변환해 나간다.

관련 함수
정수를 2 진수열로 변환하는, 정수를 10 진수열에 변환하는, 정수를 16 진수열에 변환하는, 10 진수열을 정수에 변환하는, 16 진수열을 정수에 변환한다