본문 바로가기

CS/깨알c언어

2023.02.21 깨알c언어

[출력형식]

  • %d : 부호 있는 10진수 출력 (데이터 타입: 정수,문자)
  • 16진수 : 2진수로 바꿔서 4개씩 자름,  8 4 2 1 / 8 4 2 1
  • ex) 34를 16진수로 바꾸기                    0 0 1 0  0 0 1 0 -> 22
  • 8진수는 2진수로 바꿔서 3개씩 자름. 8 진수 42
  • %3.1f 는 반올림 하는데 int로 정수변환할때는 반올림 안함

%o : 8진수 %0x: 16진수

 

[진법변환]

8진수 : 4 2 1 / 4 2 1 

ex>10진수 19는 2진수 10011 8진수 23 16진수 13

 

[비트연산]

& : AND 두개 다 참이어야 참 5&3 : 0101 0011 = 0001 값:1이다.

l : OR 둘중에 하나만 참이면 참 5 I 3 : ->  111 값은 7이다.

^ : XOR 둘이 반대여야 참이다. 5^3 -> 0110 -> 값은 6이다.

 

EX)    2진수           10진수

0x11 0001 0001 => 17

0x0f 0000 1111

&연산 0000 0001 => 1

I연산 0001 1111 => 31

 

*시프트연산 (>>)

10>>2   =>2진수로 바꾸고 민다.  1010우측으로두개밀기 => 0010 => 2이다

좌시프트 <<

10<<2 1010에 00붙여주게된다. 101000 => 40이다

 

[매크로]

#define N 10

#define SQR(X) X*X

SQR(N); 100이다

SQR(N+2); 10+2*10+2 => 32이다 

매크로일때만 이렇게 연산한다.

 

[삼항연산자]

삼항연산자 구조 : 조건?참:거짓

ex)int a,b;

a=20;

b=(a>20)?a+a:a*a;

printf("b=%d\n",b)

=> b=40

 

'CS > 깨알c언어' 카테고리의 다른 글

구조체, 포인터 이동  (0) 2023.03.29
배열, 포인터  (0) 2023.03.27
2023.03.16  (0) 2023.03.16
2023.02.22 깨알c언어  (0) 2023.02.22
2023.1.25  (0) 2023.01.25