양수일 경우 unsignd(부호)를 앞에 붙여야함
unsignd int - 정수형 양수
unsignd short int - 2byte 정수형 양수 (unsignd short로 줄여쓴다.)
long int
unsignd character - 1byte 차환형 (문자를 주로 넣는다.)
char - 1byte
short - 2byte
int - 4byte
long - 8byte
char <= short <= int <= long - (최악의 경우 전부 1byte일 수도 있다.) 컴파일러마다 용량이 모두 다름.
하지만 char, short, int 의 경우 보편적으로 사용하는 용량이 같다.
* 보수
- 부호비트의 숫자가 0일 경우 양수 1일 경우 음수로 정한다.
* -127~-0, +0~+127 의 값을 가진다.
+11 일 경우 0000 1011 = 11
-11 일 경우 구하기가 어렵다. 그래서 나온 것이 2의 보수 법 (255 254 … 247 246 245 = -11)
10진수에는 9의 보수와 10의 보수의 개념이 존재
* 9에 대한 9의 보수
2
+ □
───
9
일 때 7이 9의 보수 값이 된다.
9의 보수 값에서 +1을 하면 10의 보수 값이 나온다.
2의 보수 법도 같은 방식.
1 0 1 0 1 0 1 0
□□□□□□□□
───────
1 1 1 1 1 1 1 1
일 때에 1의 보수 값은 0101 0101이다.
2의 보수를 구할 때 여기서 +1을 해준다. 그러면 0101 0101의 2의 보수 값은 0101 0110이다.
0 1 0 1 0 1 0 1
0 0 0 0 0 0 0 1
───────
0 1 0 1 0 1 1 0
증가
++inum; 전치연산
inum++; 후치연산
11번째줄의 ival = inum++; 을 13번째 줄에 출력했을때에 값이 증가 되지 않았는데, 이것은
11번째 줄을 풀어서 쓰면
ival = inum;
inum++;
이렇게 써지기 때문에 밑의 값은 실행 되지 않는다.
그래서 값의 증가x
ival = ++inum; 은 풀어서 쓰면
++inum;
ival = inum;
이기 때문에 값이 증가한다.
참과 거짓
여기서 ! 은 반대기호 7!=6 은 7은 6과 같지 않다. 라는뜻
결과
6>5는 참이기에 1이 (6이 5보다 같다면 참이다.)
6>7은 거짓이기에 0이 ( 6이 7보다 크다면 참이다.)
7==6은 거짓이기에 0이 출력된다. ( 7과 6이 같다면 참이다.)
!3은 거짓이기에 0이 출력된다. ( 3이 아니면 참이다.)
7!=6은 참이기에 1이 출력된다. ( 7이 6과 같지 않다면 참이다.)
7<=7은 참이기에 1이 출력된다. (7이 7보다 같거나 작다면 참이다.)
7||6은 참이기에 1이 출력된다. ( 7과 6중 하나라도 참이라면 참이다.)
6&&7은 참이기에 1이 출력된다. ( 6과 7 둘다 참이어야 참이다.)
24번째줄과 25번째줄의 유의해야한다.
25번째 줄에서 7||(++inum9); 로 inum9를 증가시켰는데 35번째 줄에서 출력하였을때
101이 아닌 100이 출력된다.
이것은 25번째 줄 7||(+inum9)의 ||(or회로)때문인데 or회로는 둘중 하나만 참이라도 참의 값을 출력하기 때문에
앞의 값이 참이면 뒤의 값을 아예 처리를 하지 않게된다. (버리게 된다.)
그래서 (++inum9)는 아예 실행자체를 안한셈인것이다.
--
test
--
이번에는 inumtest2의 첫번째 값을 거짓으로 두고 (++inumtest)를 실행하는지 실험해 본 것이다.
or회로가 첫번째 값(0)이 거짓이었기때문에 두번째값(++inumtest)의 참,거짓을 알아보기위해 실행하였기 때문에
inumtest의 값은 100 에서 증가된 값을 출력하였다.
--
test end
--
AND회로
A |
B |
C |
참 |
참 |
참 |
참 |
거 |
거 |
거 |
참 |
거 |
거 |
거 |
거 |
OR회로
A | B | C |
참 | 참 | 참 |
참 | 거 | 참 |
거 | 참 | 참 |
거 | 거 | 거 |
'2014 C > 3월' 카테고리의 다른 글
[C언어]8진수,16진수의 표현 (0) | 2014.03.12 |
---|---|
[C언어]scanf 입력함수 (0) | 2014.03.12 |
2014.03.06 (0) | 2014.03.06 |
2014.03.04 (0) | 2014.03.04 |
2014.03.03 (0) | 2014.03.03 |