06/07/04 수업내용

DEVELOP/C 2006. 7. 4. 15:17
1010  /  A  /  10
1011  /  B  /  11

1100  /  C  /  12
1101  /  D  /  13

1110  /  E  /  14
1111  /  F  /  15


*000 0000 0000 0000 0000 0000 0000 000# //32bit 2^8=256가지
* = MSB(Most Significant Bit)
# = LSB(Least Significant Bit)

2^3  /  8가지
2^4  /  16가지
2^5  /  32가지
2^6  /  64가지
2^7  /  128가지
2^8  /  256가지
......
2^16  /  65536가지
......
2^32  /  4294967296가지

modular operation
1111 + 1 = (1)0000



0에대한 1의보수 1    +1
1에대한 1의보수 0    +1

0에대한 2의보수 10
1에대한 2의보수 1

1의 보수
  0101
+1010
------
1111

2의 보수
  0101  //5
+1011  //-5
------
0000

0000 0000 0000 0000 0000 0000 0000 1010 //10
1111 1111 1111 1111 1111 1111 1111 0101 + 1
1111 1111 1111 1111 1111 1111 1111 0110 //-10 ??

0000 0000 0000 0000 0110 1001 0000 0000 //??
1111 1111 1111 1111 1001 0110 1111 1111 + 1
1111 1111 1111 1111 1001 0111 0000 0000 //-??
//가장 마지막 에 나오는 0을 1로 바꾸고 그이후의 1은 0으로 바꿈!!!!

4칸으로
-8~0~7(~15)까지 저장가능

signed int a=-1;
unsigned int b=255;

char ch=-1;
printf("%d",ch);
signed  /  %u  /  4294967295
unsigned  /  %u  /  255

____ ____ ____ ____ ____ ____  1111 1111  //char
1111 1111 1111 1111 1111 1111 1111 1111  //singned
0000 0000 0000 0000 0000 0000  1111 1111  //unsigned(바뀌었나??)
//확장시 주의!!!
//입력시는 문제없음!!!



double db=6.5;
6.5 -> 110.1 -> 1.101x2^2(normalization:정규화된 표현법)
정규화의 장점
1.부호 : +
2.지수 : 2
3.유효숫자 : 1101

IEEE
single : 4자리
double : 8
quad : 16

____ ____ ____ ____ ____ ____ ____ ____
0___ ____ ____ ____ ____ ____ ____ ____  //부호 1비트 63
_100 0000 0000 ____ ____ ____ ____ ____  //지수 11비트 62~52
____ ____ ____ 1010 00.......................0 //유효숫자 나머지.. 51~0
//2진수를 지수로 표현시 맨 앞자리는 1이므로 1을 제외한 유효숫자를 기입
1101 -> _101

2^53=10^x
x=약15
까지 저장가능

그에반해
1234568901234567890은 정확히 처리곤란
유효숫자가 더 많기 때문에

0.1234567890123456789
%lf  // 소수점6째자리까지..(기본)
%.30lf  // 소수점 30째자리까지
AND