본문 바로가기

Native/C

a,b 내용을 c에 16비트씩 넣기

#include <stdio.h>

void main()
{
    unsigned int a = 0x52830000;
    unsigned int b = 0x0000FFFF;
    unsigned int c = 0x39303493;
    
    unsigned int d = 0x80000000;
    unsigned int e = 0x7fffffff;

    int len = sizeof(c)*8;
    int i, bun = len/2;

    for(i=len-1;i>=0;--i)
        printf("%d", c >> i & 1);
    printf("\n\n");

    for(i=len-1;i>=0;--i)
        printf("%d", a >> i & 1);
    printf("\n");

    for(i=len-1;i>=0;--i)
        printf("%d", b >> i & 1);
    printf("\n\n");

    /*    for(i=len-1;i>=0;--i)
        printf("%d", e >> i & 1);
    printf("\n");*/


    for(i=len-1;i>=0;--i)
    {
        if(bun > i)
        {
            if(d & b)
                c |= d;
            else
                c &= e;
        }
        else
        {
            if(d & a)
                c |= d;
            else
                c &= e;
        }
        
        e >>= 1;
        e |=0x80000000;

        d >>= 1;        
    }


    for(i=len-1;i>=0;--i)
        printf("%d", c >> i & 1);
    printf("\n");
}

'Native > C' 카테고리의 다른 글

Doubl Linked list  (0) 2013.10.02
[과제] selective_sort 2  (0) 2013.10.02
[실습] double stack  (0) 2013.10.02
[실습] 커맨드 라인 아규먼트를 이용해서 텍스트에 문자열을 뒤집어라  (0) 2013.10.02
언사인드 >> 시  (0) 2013.10.02