[정보처리기사] Java Printf ( "%8.4s\n", str), Python 쉬프트 << ,>>
본문 바로가기

컴퓨터공부/정보처리기사

[정보처리기사] Java Printf ( "%8.4s\n", str), Python 쉬프트 << ,>>

by Life & study 2023. 7. 10.
반응형

[정보처리기사]

[정보처리기사] 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    
         

 


 

반응형

댓글