C 공부 2일차 chapter 4, 5

2022. 9. 6. 23:30·C
728x90
반응형

2의 보수

데이터를 표현할 때 가장 왼쪽 비트 MSB는 부호를 나타낸다.

MSB가 0이면 양수, 1이면 음수를 나타낸다.

8비트로 정수 5를 표현하면 0000 0101이다.

그러나 -5를 표현하기 위해선 MSB를 1로 바꾼다고 되지 않는다.

MSB를 1로 바꾸기만한 -5와 5를 더한 결과는 0이 아닌 다른 수가 나온다.

 

 

음수를 표현하기 위해서는 2의 보수를 사용해야 하는데

사용방법은

1) 1의 보수를 취한 후

0000 0101
🔽🔽🔽
1111 1010

2) 1을 더한다

   1111 1010
+               1
-----------------
   1111 1011

 

2의 보수를 통해 얻은 -5와 +5를 더하면 비로소 0이 나오는 것을 확인할 수 있다.

 

 

 

 

 

sizeof 연산자

sizeof는 사실 함수가 아닌 연산자이다.

그래서 sizeof 뒤에 자료형을 넣을 경우 소괄호가 필수이지만

그 외의 피연산자에 대해서는 선택적이다.

#include <stdio.h>
int main(void) {
int a = 4;
int b = sizeof a;
printf("a의 크기 = %d", b);
return 0;
}

해당 코드 실행 시 오류가 발생하지 않고 결과가 제대로 나옴을 알 수 있다.

그러나 문장의 이해를 돕기 위해 소괄호를 사용하는 것이 좋다.

 

 

 

 

unsigned 선언

정수 자료형에 한하여 unsigned 를 선언해주면 0과 양수를 표현하는 자료형이 된다. 

데이터의 표현 범위가 양수 쪽으로 2배가 되며,

MSB도 데이터의 크기를 표현하는데에 사용된다.

 

728x90
반응형

'C' 카테고리의 다른 글

C 공부 6일차 Chapter 13  (0) 2022.09.10
C 공부 5일차 Chapter 12  (0) 2022.09.09
C 공부 4일차 Chapter 11  (0) 2022.09.08
C 공부 3일차 Chapter 6, 7, 8, 9  (2) 2022.09.07
C 공부 1일차  (0) 2022.09.05
'C' 카테고리의 다른 글
  • C 공부 5일차 Chapter 12
  • C 공부 4일차 Chapter 11
  • C 공부 3일차 Chapter 6, 7, 8, 9
  • C 공부 1일차
yeooniyeoon
yeooniyeoon
개발 공부하는 블로그
반응형
250x250
yeooniyeoon
개공블
yeooniyeoon
전체
오늘
어제
  • 분류 전체보기 (136)
    • 자료구조 (2)
    • CS (1)
    • 알고리즘 (46)
      • 99클럽 (38)
    • Java (15)
      • 혼공자 (9)
    • PHP (0)
    • JS (1)
    • Database (1)
    • Spring (7)
    • Vue.js (0)
    • 멋쟁이 사자처럼 (40)
      • TIL (39)
    • Linux (4)
    • C (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

항해99
99클럽
codedeploy
문자열
프로그래머스 소인수분해
혼공자
포인터
포인터 배열
C
혼공학습단
배포
배열
Java
codedeploy agent
Til
혼공자바
개발자 취업
NULL
코드업 1274
코딩테스트 준비

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.3
yeooniyeoon
C 공부 2일차 chapter 4, 5

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.