컴퓨터의 음수 표현
컴퓨터는 모든 수를 이진수로 표현한다.
예를 들면 10 = 00001010
음수는 어떻게 표현 할까?
-> 2의 보수를 취하여 표현한다.
2의 보수란 -> 1의보수 + 1
1의 보수는 모든 비트의 반전
ex -10 은 10인 00001010에서 1의보수를 취하여 11110101 에서 +1을 한 값
=>11110101+1 = 11110110
11110110이 -10인지 확인
00001010 ( 10)
+ 11110110 (-10)
_____________________
00000000 ( 0 )
-----------------------------------
아스키코드 (ANSI)
0~127까지 총 7bits를 사용함
맨 앞의 비트를 parity bit(패리티 비트)라고 하며 통신 에러검출에 사용함
7bits로는 모든 언어표현이 불가능해 8bits 아스키코드도 나오게 되었으며,
그 또한 제한적으로 사용할 수 밖에 없기 때문에
전세계 모든 문자를 다룰 수 있게 되는 유니코드가 나오게 되었음
-----------------------------------
상수 및 리터럴
const -> 자료형 앞에 붙이게 되며, 해당 변수는 상수가 되므로 변경이 불가능함
* 이에 따른 주의점 : 처음 선언을 할때 초기화를 동시에 안해주면 그 값은 못쓰는 값이 되어버림
ex) const int i = 100; // 이때 const int i; 로 해버리면 쓰레기 값이 되어버림
literal (문자 그대로의)
리터럴이란 프로그램에서 사용하는 모든 숫자, 문자, 논리값(true,false)을 일컫는 말입니다.
ex)1, 2, 3, 4, ...
이 리터럴 상수가 쓰이는 즉시 임시 메모리에 등록이 되는데,
정수형은 기본형이 int(4bytes) 이고,
실수형은 기본형이 double(8bytes) 이다.
-> 정수형
예를 들면, 1+2를 연산 하기 위해 정수형은 int형으로 간주하여 1 과 2를 각각 4bytes에 넣고
3인 출력값까지 해서 총 12bytes의 임시 메모리를 사용하게 된다.
-> 실수형
예를 들면, 실수의 경우 기본형이 double(8bytes)이므로, float(4bytes) 자료형을 쓸 경우
서로 사용하는 임시 메모리의 크기가 다르다.
따라서 float의 자료형을 쓸 경우, 기본 8bytes -> 4bytes로 저장을 하므로, 데이터의 손실이 발생할 가능성이 있다
그래서 임시 메모리의 크기를 4bytes만큼만 설정할 필요가 생기게 된다.
-> float 에 f를 붙이는 이유
ex) float a = 3.14f;
단순 float a = 3.14; 라고 썼을경우, 왼쪽은 float타입이지만 오른쪽은 3.14 즉 실수 기본형인 double로 인식 하기 때문에
miss match 된다.
따라서 3.14라는 숫자가 float 타입이라는 f를 붙여주는 것이다.
'개발 Study' 카테고리의 다른 글
#6 연산자(2) 및 형 변환 (0) | 2021.04.01 |
---|---|
#5 n진수 및 연산자 (0) | 2021.03.31 |
#4 변수 표기법 (0) | 2021.03.30 |
#2 변수 및 자료형 (0) | 2021.03.29 |
#1 기본개념 및 시작 (0) | 2021.03.26 |