조건연산자를 사용하여 작은 값 구하기

#include <stdio.h>

int main()
{
 int a, b; // 두 정수값을 저장할 변수
 int min; // 둘 중에 작은 값을 저장할 변수

 printf(" 두 정수를 입력하세요 : "); // 입력 안내 메시지
 scanf("%d%d", &a, &b); // 두 정수값 입력

 min = (a < b) ? a : b; // 조건연산자로 ㅈ가은 값을 고른다
 printf("작은 수는 %d입니다.\n", min); // 작은 값 출력
 return 0;
}

by groove | 2009/09/22 22:24 | C language | 트랙백 | 덧글(0)

비트이동 연산자를 사용하여 곱셈과 나눗셈을 하는 프로그램

#include <stdio.h>

int main()
{
 int a = 0x4; // a의 값은 10진수로 4
 int b = 0x80000004; // b의 값은 -2147483644
 unsigned int c = 0x80000004; // c의 값은 2147483652

 printf("a = %d, b = %d, c = %u\n", a, b, c); // a, b, c의 값을 확인
 printf("a << 2 => %d\n", a << 2); // 왼쪽으로 2비트 이동, 4를 곱한다
 printf("a >> 2 => %d\n", b >> 2); // 오른쪽으로 2비트 이동, 4로 나눈다.
 printf("a >> 3 => %d\n", a >> 3); // 모든 비트가 0으로 채워진다
 printf("b << 1 => %d\n", b << 1); // 부호비트가 잘려나간다.
 printf("b >> 1 => %d\n", b >> 1); // 왼쪽의 남는 비트는 부호비트로!
 printf("c >> 1 => %d\n", c >> 1); // 왼쪽의 남는 비트는 0으로!
 return 0;
}

by groove | 2009/09/22 22:19 | 트랙백 | 덧글(0)

비트부정 연산자

#include <stdio.h>

int main()
{
 int a = 35; // 변수 선언과 초기화

 printf("a에 대한 1의 보수 값 : %u\n", -a); // a의 1의 보수 값
 printf("a에 대한 2의 보수 값 : %d\n", -a+1); // a의 1의 보수에 1을 더하면 2의 보수
 return 0;
}

by groove | 2009/09/22 22:13 | 트랙백 | 덧글(0)

비트별 논리합 연산자

#include <stdio.h>

int main()
{
 int ch = 'A';
 
 printf("소문자로 바꿈 : %c\n", ch | 0x20);
 return 0;
}

by groove | 2009/09/22 22:07 | C language | 트랙백 | 덧글(0)

비트별 배타적 논리합

#include <stdio.h>

int main()
{
 char a = 'a', m = 32; // 문자 변수를 선언하고 초기화
 
 a = a^m; // a의 특정 비트를 0이면 1로 1이면 0으로
 printf("a의 값 : %c\n", a); // 바꾸어 출력한다
 a = a^m; // 바꾼 비트를 다시 원래의 비트로
 printf("a의 값 : %c\n", a);
 return 0;
}

by groove | 2009/09/22 22:05 | C language | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶