1071. 입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자. 비트단위(bitwise)연산자 ~ 를 붙이면 된다.(~ : tilde, 틸드라고 읽는다.)정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. 0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자. while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다. Insight ✔ "이름:" 과 같이 콜론(:)이 붙어있는 부분을 이름표(label, 레이블)라고 한다. ✔ 레이블은 특별한 선언 없이 사용할 수 있으며 언더바(_)나 영문자로 시작하면 된다. ✔ 레이블은 한 단어처럼 공백없이 모두 붙여 써야 한다. ✔ switch( ) ... case ..
1059. 입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자. 비트단위(bitwise)연산자 ~ 를 붙이면 된다.(~ : tilde, 틸드라고 읽는다.) 입력. 2 (00000010) 출력. -3 (11111101 → 00000011) #include int main(void) { int n; scanf("%d", &n); printf("%d\n",~n); return 0; } 1060. 입력된 정수 두 개를 비트단위로 and 연산한 후 그 결과를 정수로 출력해보자. 비트단위(bitwise)연산자 &를 사용하면 된다.(and, ampersand, 앰퍼센드라고 읽는다.) 입력. 3 5 출력. 1 #include int main(void) { int n1, n2; scanf("%d %d", &..
1053. 1(true, 참) 또는 0(false, 거짓) 이 입력되었을 때 반대로 출력하는 프로그램을 작성해보자. 입력. 1 출력. 0 #include int main(void) { int a; scanf("%d",&a); printf("%d\n",!a); return 0; } 1054. 두 개의 참(1) 또는 거짓(0)이 입력될 때, 모두 참일 때에만 참(1)을 출력하는 프로그램을 작성해보자. 입력. 1 1 출력. 1 #include int main(void) { int a,b; scanf("%d %d",&a,&b); if(a&&b){ printf("1\n"); }else{ printf("0\n"); } return 0; } 1055. 두 개의 참(1) 또는 거짓(0)이 입력될 때, 하나라도 참이면 ..
1047. 정수 1개를 입력받아 2배 값을 출력해보자. (비트단위 시프트 연산자 를 사용하자.) ✔ insight. 2진수 값을 왼쪽()으로 지정한 비트 수만큼 밀어주면 10진수의 값은 2배씩 늘어나거나 반으로 줄어든다. 왼쪽 비트시프트()의 경우, 0이나 양수라면 왼쪽에 0, 음수라면 왼쪽에 1이 개수만큼 추가된다. 그리고 범위(32비트)를 넘어서 이동되는 비트는 삭제된다. 즉, 10진수일 때를 기준으로 말하면 왼쪽 비트 시프트()는 1/2배의 연산을 수행한다. (예) int a = 10; printf("%d", a1); //5 printf("%d", a2); //2 (결과는 2.5지만 형식 지정자가 정수형이므로) 입력. 1024 출력. 2048 #include int main(void){ int nu..
1038. 정수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자. (단, 입력되는 정수는 -1073741824 ~ 1073741824 이다.) ✔ insight. 입력받는 정수의 범위가 int 이므로, 먼저 int 변수를 만들어두고 입력값을 저장. 입력받은 정수의 합이 int의 범위를 벗어날 수 있으므로 long long으로 형변환해 합계를 출력. 입력. 123 -123 출력. 0 #include int main(void){ int a,b; scanf("%d %d",&a,&b); printf("%ld",(long long)a+(long long)b); return 0; } 1039. 정수 2개를 입력받아 합을 출력해보자. 단, 입력되는 정수는 -2147483648 ~ +2147483648 이다. ✔ ..
1031. 10진수를 입력받아 8진수(octal)로 출력해보자. 입력. 10 출력. 12 #include int main(void){ int num; scanf("%d",&num); printf("%o",num); return 0; } 1032. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자 (소문자) 입력. 255 출력. ff #include int main(void){ int num; scanf("%d",&num); printf("%x",num); return 0; } 1033. 10진수를 입력받아 16진수(hexadecimal)로 출력해보자 (대문자) 입력. 255 출력. FF #include int main(void){ int num; scanf("%d",&num); printf..
1028. 정수 1개를 입력받아 절댓값을 출력해보자. (단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.) 양수만 출력하는 unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다. 2147483648 #include int main(void){ unsigned int num; scanf("%u",&num); printf("%u",num); return 0; } 1029. 실수 1개를 입력받아 그대로 출력해보자. (단, 입력되는 실수의 범위는 +- 1.7*10-308 ~ +- 1.7*10308 이다.) 어떤 실수를 입력받아도 소수점 이하 11자리까지 출력되도록 해야만 정답으로 처리된다. 3.14159265359 3.14159265359 #inc..