1) 정수 데이터의 진법 표현
8 진법 : 0으로 시작
10진법 : 별다른 표현법 필요x
16진법 : 0x로 시작
2) 정수 & 실수의 표현방식
>> 정수의 표현 방식
fact1) 정수의 가장 왼쪽의 존재하는 비트(MSB)는 '부호비트'이다
- (+,-)의 부호를 표시 : 양수면 0 / 음수면 1
- MSB를 제외한 비트들 : 정수의 크기를 나타냄
fact2) 음의 정수를 표현할 때에는 2의 보수를 취해야 한다.
- 2의 보수 : 반전시킨 후, 1을 더해줌
- 올림수가 버려져서 0으로 ㅏ가득차게 됨
>> 실수의 표현 방식
fact1) 실수 표현의 정밀성은 떨어진다
- 넓은 범위의 실수를 표현가능하나, 실수 표현에는 오차가 존재함 => 가까운 근사치를 활용
- 부동소수점 : 부동소수점 표현방식이 지니는 근본적인 오차
=> 컴퓨터는 실수를 100% 정확히 표현하지 못한다. 그저 근사치를 표현할 뿐
3) 비트 연산자
- &연산자 : AND 연산
- | 연산자 : OR 연산
- ^ 연산자 : Xor 연산
- ~ 연산자 : 단항연산자로서 not
- num1 << num2 : num1의 비트열을 num2칸씩 왼쪽으로 이동시킴
- num1 >> num2 : num1의 비트열을 num2칸씩 오른쪽으로 이동시킴
# 비트 이동연산자
: 왼쪽으로 1칸씩 이동할 때마다 정수의 값은 두배가 됨
: 이동으로 인해 새로 생기는 빈자리는 0으로 채워짐
: 이동으로 인해 밀려나는 비트들은 그냥 버려짐
ex)
result1= 30
result2=60
result3=120
문제 4-4
문제1. : 2의 보수법(반전 후 1더하기)를 통한 음수표현
문제2. : 비트 이동을 통한 a x 8 % 4 의 표현
'C언어 기초' 카테고리의 다른 글
[열혈 C] 도전 프로그래밍2 문제풀이 (0) | 2023.02.08 |
---|---|
[C언어] switch - goto문 (0) | 2023.02.02 |
chapter 3. 변수, 연산자, scanf 함수 (0) | 2022.11.11 |
2-2/3 : C언어 주석/ printf 함수 알아보기 (0) | 2022.11.10 |
chapter 2-1. 프로그램의 기본구성 (0) | 2022.09.19 |