[정보처리기사]
[정보처리기사] Java Printf ( "%8.4s\n", str);
[정보처리기사] Java Printf ( "%8.4s\n", str);
Printf ( "%8.4s\n", str);
8자리를 출력하고, 앞에서 4글자만 출력하라
#include <stdio.h>
int main() {
char str[] = "power tomatomen!"; // 출력할 문자열
printf("%8.4s\n", str); // 형식에 맞게 문자열 출력
return 0;
}
출력값
앞에서 4칸 무칸 4칸 powe 나옴,
____powe
[정보처리기사] Python 쉬프트 << ,>>
[정보처리기사] Python 쉬프트 << ,>>
Python
a, c =32 , -3
b = a << 2
a >> = 3
c = c << 2
print(a, b, c)
,
음수의 값의 쉬프트 구하기 공식!
2의 보수 = 1의 보수 +1
-3을 2진수로 바꾼다면,
c = -3
c = c << 2
음수의 값의 쉬프트 구하기 숫자별 순서대로 구해보기 풀이! |
1.
2의 보수 = 1의 보수 +1
(1의 보수)
(1) 0 0 0 0 0 0 0 0 0 0 0 1 1
이다.
2.
(1의보수)를 내버려두고 0을 1로 뒤집기
(1) 1 1 1 1 1 1 1 1 1 1 1 0 0
3.
2의 보수 = 1의 보수 후에 +1 하기
(1) 1 1 1 1 1 1 1 1 1 1 1 0 1
4.
2의 보수 = 1의 보수 +1 가 끝났다.
(1) 1 1 1 1 1 1 1 1 1 1 1 0 1
5.
c << 2를 통해서 왼쪽으로 2칸을 옴긴다.
패딩비트의 공식에 의해서
음수에서 왼쪽이므로 0
(1) 1 1 1 1 1 1 1 1 1 0 1 0 0
6.
2의 보수로 다시 2의 보수법으로 뒤집는다.
다시 뒤집을때,
2의 보수 = 1의 보수 +1
(1) 0 0 0 0 0 0 0 0 0 1 0 1 1
+ 1을 해서
=
(1) 0 0 0 0 0 0 0 0 0 1 1 0 0
7.
이것을 10진수로 바꾼다
(1) 0 0 0 0 0 0 0 0 0 1 1 0 0
앞의 부호비트는 계산하지 않고, 1 1 0 0 만 계산 하면,
12가 나온다.
C언어 쉬프트 공식!
정리, | 쉬프트 공식! |
오른쪽 으로 쉬프트 (값) * 2 | = 출력 정수값 |
왼쪽 으로 쉬프트 (값) / 2 | = 출력 정수값 |
오른쪽 쉬프트 | * 쉬프트 정수값 |
왼쪽 쉬프트 | / 쉬프트 정수값 |
패딩비트의 공식!
패딩비트 발생 | 왼쪽 | 오른쪽 | ||
음 (-) | 0 | 1 | ||
양 (+) | 0 | 0 | ||
댓글