달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2012. 5. 21. 09:25

헨리홍 목사님 영발음 구구단 2012. 5. 21. 09:25

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 12. 30. 11:02

(111230) Format 2011. 12. 30. 11:02

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

'공부' 카테고리의 다른 글

헨리홍 목사님 영발음 구구단  (0) 2012.05.21
(111230) Format  (0) 2011.12.30
0620) 델파이 예외 처리  (0) 2011.06.20
0311) 자바 공부 홈피 주소  (0) 2011.03.11
0222) MS 워드 단축키 모음  (0) 2011.02.22
:
Posted by 투잌
2011. 6. 20. 17:51

0620) 델파이 예외 처리 공부2011. 6. 20. 17:51


인터넷 서핑중 건진 PDF 파일..


델파이 6 시작 그리고 완성 부록 중 하나라는데...

내가 보고 있는 책은 델파이 5 시작 그리고 완성... -_-;

나도 좀 더 버전업 된 책을 보고 싶다 ㅠㅠ

'공부' 카테고리의 다른 글

(111230) Format  (0) 2011.12.30
0902) 패스트리포트(FastReport) 3.0 / 4.0 매뉴얼  (0) 2011.09.02
0311) 자바 공부 홈피 주소  (0) 2011.03.11
0222) MS 워드 단축키 모음  (0) 2011.02.22
0207) 어셈블리 보충  (0) 2011.02.07
:
Posted by 투잌
2011. 3. 11. 10:19

0311) 자바 공부 홈피 주소 2011. 3. 11. 10:19

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 2. 22. 16:54

0222) MS 워드 단축키 모음 2011. 2. 22. 16:54

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 2. 7. 23:34

0207) 어셈블리 보충 2011. 2. 7. 23:34

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 1. 14. 13:10

0114) 알고리즘 분석 기준 2011. 1. 14. 13:10

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 1. 14. 13:10

0114) 알고리즘 2011. 1. 14. 13:10

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2011. 1. 14. 13:09

0114) 머지 정렬 2011. 1. 14. 13:09

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2010. 10. 17. 18:55

메모리에 저장할 때 최적화. 공부2010. 10. 17. 18:55

메모리에 저장할 때
 >> 메모리 최적화 (메모리 아낌)
 >> 속도
둘중에 하나를 중시할 수 있다.

                     
                        자료형을 다양하게 준 뒤 해당 변수들의 주소를 추적하게 되면



                                 16진수로 해당 주소들을 확인할 수 있다.

자료형에 따라 주소 설정의 크기가 얼마씩 증가하는지 확인해보자.


 자료형 차지 바이트  주소 끝을 10진수로 실제 차이 
 int  4   bffffa38  2616  
 int  4  bffffa34   2612  ↓ 4
 int  4  bffffa30  2608  ↓ 4
 int  4  bffffa2c  2604  ↓ 4
 float  4  bffffa28  2600  ↓ 4
 float  4  bffffa24  2596  ↓ 4
 float  4  bffffa20  2592  ↓ 4
 float  4  bffffa1c  2588  ↓ 4
 short  2  bffffa1a  2586  ↓ 2
 char  1  bffffa19  2585  ↓ 1
 int *  4  bffffa14  2580  ↓ 5
 char  1  bffffa13  2579  ↓ 1
 char *  4  bffffa0c  2572  ↓ 7

char 형은 1바이트, short는 2바이트, int, float, 그리고 포인터형들 char* 나 int* 은 모두 4바이트의 공간을 가진다.

실제 메모리에서 해당 자료형들이 저장될 때 4바이트 단위를 한 줄이라고 생각한다면
아래의 그림과 같다.


                           < 코드에서 소문자, 그림에서 대문자.. 죄송합니다 -_-; >

A,B,C,D 는 int 형이다. 4바이트. 1줄씩 차지했다.
E,F,G,H 는 float 형이다. 4바이트. 1줄씩 차지했다.
I 는 short 형이다. 2바이트. 오른쪽의 2칸을 차지.
J 는 char 형이다. 1바이트. short 바로 왼쪽의 1칸을 차지.
K 는 int* 형이다. 4바이트. 바로 위의 1줄을 차지. (중간에 결손 1바이트 발생)
L 은 char 형이다. 1바이트. 1칸 차지.
M 은 char* 형이다. 4바이트. 바로 위의 1줄을 차지. (중간에 결손 3바이트 발생)


char 다음에 오는 4바이트 단위의 자료형들은 여백을 뛰어넘어 윗줄로 바로 올라간다.
자료형대로의 필요 바이트는 44지만, 실제 사용한건 48바이트이다.

만약에 L 을 J 다음에 선언을 했다면 결손이 없어지게 된다.
이것을 메모리의 최적화라고 한다.

후에 고급 기술로 넘어간다면 속도 or 메모리 최적화 중에 한가지를 선택하게 된다.
임베디드 시스템은 적은 메모리를 사용해야 할 때도 있기 때문에 유념하자.

:
Posted by 투잌
2010. 10. 17. 18:52

포인터와 캐스트 공부2010. 10. 17. 18:52


★ 포인터와 캐스트

float *fp 선언후에
fp=3;
이라고 한 뒤 컴파일 하면 warning이 뜬다. (파일 실행에는 이상 없음.)

왼쪽은 자료형이 float* 형이고
오른쪽 '3' 은 자동적으로 int형이라 양쪽의 자료형이 일치하지 않는다.

포인터형에 값을 초기화해줄때는 자료형이 같지 않다면 컴파일시 warning이 뜸.
 >> 파일 실행에는 이상이 없음.

warning을 없애고 싶다면 양쪽의 자료형을 통일시켜주면 된다.

fp = (float*)3;

이렇게 하면 3이 자동으적으로 float형 포인터로 형 변환이 일어나서 warning이 없어진다.

만약에
int x;
int *xp;
xp = &x;
라고 정의를 했을 때에는
warning이 뜨지 않는다.
왼쪽의 xp는 *int 형이고
오른쪽의 x는 int형인데, &이 *로 인식되기때문에 결국 *int 형으로 인식되고
왼쪽과 오른쪽의 형이 같기 때문에 warning 이 뜨지 않는다.


변수명 앞에 * 가 있으면
ex) *iNum;

 >> 1. 해당 변수가 있는지 확인
 >> 2. 해당 변수가 포인터형인지 확인
 >> 3. 포인터형이 아니라면 곱셈으로 치부
 >> 곱셈은 다항연산자라, 항이 2개 필요 / 현재 항은 iNum하나만...
 >> 컴파일시 에러 발생

★ iNum이 포인터형이라면 컴파일시에러 없음
 ex) int iNum*;
 *iNum;

포인터형 앞에 * 을 붙이면 해당 주소가 된다.

:
Posted by 투잌
2010. 10. 17. 18:49

C언어 / 구구단 소스. 공부2010. 10. 17. 18:49

1. 구구단을 한단만 출력해보라. (원하는 단 입력 받아서.)


소스



결과


2. 구구단 전체를 모두 출력해보라.


소스





결과

3. 구구단중 일부만 (4~7단) 출력해보라.


소스



결과

4. 2부터 50사이의 소수를 출력해보라.

http://tooecc.tistory.com/32
:
Posted by 투잌
2010. 10. 17. 18:46

논리 연산자 계산순서( || && ) / 증감 연산자 공부2010. 10. 17. 18:46

논리 연산자

&& = 둘 다 참일 때 결과도 참
|| = 둘 중 하나가 참일 때 결과도 참
! = 참을 거짓으로, 거짓을 참으로 바꿈.

A=3&&4;
 >> 1
 >> 0이 아닌 수는 모두 참이므로 참 출력(1)


논리 연산자 || 과 &&의 계산순서

 >> &&은 왼쪽이 참이기 때문, 양쪽을 모두 비교해야 하기 때문, 끝까지 연산

 >> || 은 왼쪽이 참이라면 오른쪽을 무시하고 바로 결과는 참



A=10 이 선언된 이후 || 논리연산은 왼쪽이 참이라 바로 연산을 마무리해버린다.
오른쪽 A가 초기화 되지 않았기 때문에 A를 출력하면 A=10 이 그대로 출력됨.

&& 논리연산은 양쪽 모두를 비교하여 참, 거짓을 판단하기 때문에 왼쪽, 오른쪽 모두 연산 하게 된다.
오른쪽의 A=5 로 초기화되기 때문에, 새로 A를 출력하면 A=5가 나오는것이 확인된다.
   ★ 단... 만약 왼쪽항이 거짓이라면 조건은 무조건 거짓이 되기 때문에, 
       ||과 마찬가지로 오른쪽을 무시하게 됨. 유의하세요.




증감 연산자

전치형 :  증감을 먼저 한후에, 연산한다.

B=++A
계산을 풀어쓰면

1.  A=A+1    (A를 먼저 증감시키고)
2.  B=A     (증감시킨 값을 B에 대입[연산]한다.)

ex) int A=10;
      printf("결과 : %d", ++A);

      실행시 A의 값을 먼저 증감시킨 후에 %d에 대입(연산)시킨다.
      결과 : 11 출력

후치형 : 연산을 먼저한 후에 증감한다.
B=A++
계산을 풀어쓰면

1.  B=A     (A 값을 B에 대입[연산]한다.)
2.  A=A+1    (B와는 별개로 A값을 1 증감) 

ex) A=10;
      printf("%d", A++);

      실행시 A의 값을 %d에 먼저 대입(연산) 한 뒤 증감시킨다.
      결과 : 10 출력

'공부' 카테고리의 다른 글

포인터와 캐스트  (0) 2010.10.17
C언어 / 구구단 소스.  (0) 2010.10.17
short 의 최대, 최소값 구하기  (0) 2010.10.17
아스키 코드 / 빠르게 아스키 코드 확인법 Alt + 숫자  (2) 2010.10.17
signed 와 unsigned  (0) 2010.10.17
:
Posted by 투잌
2010. 10. 17. 18:38

short 의 최대, 최소값 구하기 공부2010. 10. 17. 18:38

short 의 최대, 최소값

short 를 2바이트라고 쳤을 때 >> 16비트 라고 쳤을 때 정수를 나타낼 수 있는 최대값을

 0  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1


로 나타낼 수 있다. 그렇다면 최소값은 얼마일까? (제일 앞의 자리는 양, 음수 구분)

비트 단위로 따졌을 때 최대값에서 +1을 하게 되면 다음 비트의 최소값으로 변하게 된다.
위의 수에서 +1을 하였을 때의 수는 0111 1111 1111 1111 의
반대값인 1000 0000 0000 0000 이 된다.

 1  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

실제로 그런지 계산해보자. 니들 단위로 나누어서 16진수로 바꾸게 되면

    1000  0000  0000  0000
       8      0      0       0      =  16진수 8000 으로 생각할 수 있다.

vi 에서 8000을 가볍게 10진수로 바꾸어보자.



 1000 0000 0000 0000 = 10진수의 음수 -32768 이고
 해당 수에서 -1을 하였을 때는 10진수의 양수 32767 이 됨을 알 수 있다.

아까 +1을 해서 1000 0000 0000 0000 을 구했으니
-1 을 하면 최초 원점에서 생각했던 0111 1111 1111 1111 = 32767이 됨을 알 수 있다.

short 의 최대값은 32767, 최소값은 -32768 임을 알수 있고
short 로 표현할 수 있는 수의 총 갯수는 65536 개로 결론.
:
Posted by 투잌

아스키 코드 (ASCII CODE)

  아스키(ASCII) 또는 미국 정보 교환 표준 부호(American Standard Code for Information Interchange)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기반한다.

  아스키는 1967년에 표준으로 제정되어 1986년에 마지막으로 개정되었다. 아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다.

  아스키가 널리 사용되면서 다양한 아스키 기반의 확장 인코딩들이 등장했으며, 이들을 묶어서 아스키라고 부르기도 한다. 대표적으로 7비트 인코딩을 유지한 ISO/IEC 646과, 원래 아스키 코드 앞에 비트 0을 넣어 8비트 인코딩을 만든 IBM 코드 페이지와 ISO 8859가 있다. 이 인코딩들은 언어군에 따라 같은 숫자에 서로 다른 문자가 배당된 경우가 많다.
  (출처 : 위키백과 http://ko.wikipedia.org/ )





작은 따옴표 사이에 있으면 숫자도 문자로 치이고, 거기에 해당되는 숫자로 치환된다. 
알파벳 A부터 z까지, 특수문자등도 해당되는 숫자를 가지게 되는데 그것이 아스키 코드이다.

아스키 코드표

출처 : http://www.jasko.co.kr/lesson/ascii.html

[출처] 아스키 코드표|작성자 게레겡


 ASCII  10진수  16진수  8진수  2진수 ASCII 10진수 16진수 8진수 2진수
 NULL     0   0×00    0     0   @    64   0×40   100  1000000
 SOH     1   0×01    1     1   A    65   0×41   101  1000001
 STX     2   0×02    2    10   B    66   0×42   102  1000010
 ETX     3   0×03    3    11   C    67   0×43   103  1000011
 EOT     4   0×04    4   100   D    68   0×44   104  1000100
 ENQ     5   0×05    5   101   E    69   0×45   105  1000101
 ACK     6   0×06    6   110   F    70   0×46   106  1000110
 BEL     7   0×07    7   111   G    71   0×47   107  1000111
 BS     8   0×08   10  1000   H    72   0×48   110  1001000
 HT     9   0×09   11  1001   I    73   0×49   111  1001001
 LF    10   0×0A   12  1010   J    74   0×4A   112  1001010
 VT    11   0×0B   13  1011   K    75   0×4B   113  1001011
 FF    12   0×0C   14  1100   L    76   0×4C   114  1001100
 CR    13   0×0D   15  1101   M    77   0×4D   115  1001101
 SO    14   0×0E   16  1110   N    78   0×4E   116  1001110
 SI    15   0×0F   17  1111   O    79   0×4F   117  1001111
 DLE    16   0×10   20  10000   P    80   0×50   120  1010000
 DC1    17   0×11   21  10001   Q    81   0×51   121  1010001
 SC2    18   0×12   22  10010   R    82   0×52   122  1010010
 SC3    19   0×13   23  10011   S    83   0×53   123  1010011
 SC4    20   0×14   24  10100   T    84   0×54   124  1010100
 NAK    21   0×15   25  10101   U    85   0×55   125  1010101
 SYN    22   0×16   26  10110   V    86   0×56   126  1010110
 ETB    23   0×17   27  10111   W    87   0×57   127  1010111
 CAN    24   0×18   30  11000   X    88   0×58   130  1011000
 EM    25   0×19   31  11001   Y    89   0×59   131  1011001
 SUB    26   0×1A   32  11010   Z    90   0×5A   132  1011010
 ESC    27   0×1B   33  11011   [    91   0×5B   133  1011011
 FS    28   0×1C   34  11100   \    92   0×5C   134  1011100
 GS    29   0×1D   35  11101   ]    93   0×5D   135  1011101
 RS    30   0×1E   36  11110   ^    94   0×5E   136  1011110
 US    31   0×1F   37  11111   _     95   0×5F   137  1011111
 SP    32   0×20   40  100000   .    96   0×60   140  1100000
  !    33   0×21   41  100001   a    97   0×61   141  1100001
  "    34   0×22   42  100010   b    98   0×62   142  1100010
  #    35   0×23   43  100011   c    99   0×63   143  1100011
  $    36   0×24   44  100100   d   100   0×64   144  1100100
  %    37   0×25   45  100101   e   101   0×65   145  1100101
  &    38   0×26   46  100110   f   102   0×66   146  1100110
  '    39   0×27   47  100111   g   103   0×67   147  1100111
   (    40   0×28   50  101000   h   104   0×68   150  1101000
   )    41   0×29   51  101001   i   105   0×69   151  1101001
   *    42   0×2A   52  101010   j   106   0×6A   152  1101010
   +    43   0×2B   53  101011   k   107   0×6B   153  1101011
   '    44   0×2C   54  101100   l   108   0×6C   154  1101100
   -    45   0×2D   55  101101   m   109   0×6D   155  1101101
   .    46   0×2E   56  101110   n   110   0×6E   156  1101110
   /    47   0×2F   57  101111   o   111   0×6F   157  1101111
   0    48   0×30   60  110000   p   112   0×70   160  1110000
   1    49   0×31   61  110001   q   113   0×71   161  1110001
   2    50   0×32   62  110010   r   114   0×72   162  1110010
   3    51   0×33   63  110011   s   115   0×73   163  1110011
   4    52   0×34   64  110100   t   116   0×74   164  1110100
   5    53   0×35   65  110101   u   117   0×75   165  1110101
   6    54   0×36   66  110110   v   118   0×76   166  1110110
   7    55   0×37   67  110111   w   119   0×77   167  1110111
   8    56   0×38   70  111000   x   120   0×78   170  1111000
   9    57   0×39   71  111001   y   121   0×79   171  1111001
   :    58   0×3A   72  111010   z   122   0×7A   172  1111010
   ;    59   0×3B   73  111011   {   123   0×7B   173  1111011
   <    60   0×3C   74  111100   |   124   0×7C   174  1111100
   =    61   0×3D   75  111101   }   125   0×7D   175  1111101
   >    62   0×3E   76  111110   ~   126   0×7E   176  1111110
   ?    63   0×3F   77  111111  DEL   127   0×7F   177  1111111
         


★ Tip ★

Alt + 키보드 오른쪽 숫자키를 누르면 해당 숫자의 아스키 코드가 입력된다.
예를 들어 A를 찍고 싶다면, Alt 를 누른 상태에서 대문자 A의 아스키 코드 (A는 65다) 를 입력한뒤 Alt 를 떼보자.
 >> ★주의★ 숫자는 키보드 오른쪽 숫자키를 눌러야만 통한다.

A가 찍히는걸 볼 수 있을 것이다. ~_~

아스키 코드만 나와 있고, 이것이 무엇을 뜻하는지 모를 때 쓰면 아주아주 유용하다~ (윈도우, 리눅스 모두 통함)

도움이 되셨다면, 이 글 댓글에다가 Alt + 아스키코드로 한 글자만 찍고 가주세요. ㅠㅠ 댓글이 그리워요~~
 

'공부' 카테고리의 다른 글

논리 연산자 계산순서( || && ) / 증감 연산자  (0) 2010.10.17
short 의 최대, 최소값 구하기  (0) 2010.10.17
signed 와 unsigned  (0) 2010.10.17
보수와 2진법에서 음수표현법  (0) 2010.10.17
진법과 계산법  (0) 2010.10.17
:
Posted by 투잌
2010. 10. 17. 18:29

signed 와 unsigned 공부2010. 10. 17. 18:29


signed 와 unsigned

변수를 선언할 때 아무것도 안 적고 자료형(Data type)을 바로 쓴다면 signed가 앞에 적혀 있다고 보면 된다.

ex)  char cNum1
에서 char가 자료형, cNum1 이 변수이다.
char 앞에는 'signed'가 생략되어 있다. 그대로 적어줘도 동일한 코딩이다.

unsigned 를 표현하고 싶다면 자료형 앞에 'unsigned'라고 넣어주면 된다.





signed는 -128 ~ 127 까지의 양수와 음수 둘다(정수) 쓰겠다는 명령이고
unsigned 는 0 ~ 255 까지 범위의 양수만 쓰겠다는 명령이다.

만약 127을 입력하고 그걸 출력한다면 둘다 127까지는 범위안이기 때문에 동일하게 출력된다.
대신 128을 입력하게 되면 signed는 범위를 넘어가기 때문에 비트단위 계산으로 127의 다음숫자인 -128, unsigned는 당연히 범위 안이기 때문에 그 결과 그대로 출력된다.


혹시나 255를 입력하게 되면 signed는 -1이 , unsigned 는 범위안이기 때문 255 그대로 출력한다.


char(1바이트)와 short(2바이트)의 입력할 수 있는 최대값을 구하고 싶다면
unsigned char
unsigned short 에서 -1을 입력해주면 된다.


보면 short의 최대값은 65535 , char의 최대값은 255인 것을 확인할 수 있다.

0부터 시작한다고 보았을 때 char는 0부터 255까지 총 256개,
short는 0부터 65535까지 65536개의 숫자 입력이 가능하다.

char = 1바이트 = 8비트 = 2의 8승값 = 256
short = 2바이트 = 16비트 = 2의 16승값 = 65536
이라고 이해해도 무방하다.

그렇다면 int 는 4바이트이기 때문에
int = 4바이트 = 32비트 = 2의 32승값 = 4,294,967,296
int 로 자료형을 선언했을 때 4,294,967,296 가지로 범위가 매우 넓음을 알 수 있다.
:
Posted by 투잌
2010. 10. 17. 18:26

보수와 2진법에서 음수표현법 공부2010. 10. 17. 18:26


보수

ex) 7의 9의 보수는 2이다. >> 7+2=9
ex) 4의 10의 보수는 6이다. >> 4+6=10

2진법은 1의 보수와 2의 보수를 구할 수 있다.

2진법에서 음수를 표현하는 법
 >> 1의 보수를 취하고 +1
ex)  0000 0101     < 5를 2진수로 표현
      1111 1010     < 1의보수 
      1111 1011     < +1 하였음  : -5

컴퓨터는 뺄셈을 시켜도 음수로 바꾼 뒤에 덧셈을 시킨다.

:
Posted by 투잌
2010. 10. 17. 18:22

진법과 계산법 공부2010. 10. 17. 18:22


진법과 양수, 음수

2진법 : 0~1 , 2가지로 표시

8진법 : 0~7 , 8가지로 표시

10진법 : 0~9 , 10가지로 표시 , Decimal 이라 한다.

16진법 : 0~f , 16가지로 표시 , Hexa Decimal 이라 한다.


진법 빨리 계산하는 법

16진법은 2진수로 바뀔 때, 4자리가 16진수 숫자 하나로 치환
 >> ex) 0110 0111
             6      7     =  0110 0111 은 16진수 67로 변경 가능
      

8진법은 2진수로 바뀔 때, 3자리가 8진수 숫자 하나로
 >> ex) 000 111 111 101
                   7    7     5  = 8진수 775로 변경

:
Posted by 투잌


* VMware 에서 공유폴더를 만들고 리눅스와 공유하기



VMware 상단의 Virtual Machine 에 가면 Virtual Machine Setting 이라는 메뉴가 있다.

누르고 상단의 'Option' 탭을 누른 뒤


Shared Folders 선택
>> 오른쪽에 Always Enabled 체크 확인 >> 아래쪽에 Add 누르고 윈도우상에서 공유할 폴더를 선택 (Name은 리눅스상에서 볼 디렉토리명으로 지정한다. 긴건 비추천)
그리고 ok를 누르면 완료된다.

리눅스에서 공유폴더를 보고 싶을 때의 경로는
/mnt/hgfs/디렉토리명 이다.



공유폴더에 임의로 '1.c' 라는 파일을 생성하였다.


리눅스상에서 '1.c' 라는 파일이 확인이 된다.


:
Posted by 투잌
셋 중 아무거나 선택하셔도 됨.

1. 스펠(spell) 설치.


http://rodream.net 접속 후 스펠 다운.
웹 사이트중 대부분의 펌 방지 해제 가능.

2. 바로가기 신공

인터넷 익스플로러 -> 상단의 '즐겨찾기' -> 즐겨찾기에 추가 -> 마우스막음해제 등으로 이름정한 후 추가 -> 즐겨찾기에 새로 생긴 녀석을 마우스 오른쪽 클릭 -> 속성 -> URL(U) 에 아래의 소스를 그대로 긁어서 붙여넣기 -> 확인

javascript: function naver(q){ void(z=q.body.appendChild(q.createElement('script'))); void(z.language='javascript'); void(z.type='text/javascript'); void(z.src='http://userscripts.org/scripts/source/61326.user.js');} function selfw(w) { try{naver(w.document);} catch(e){} for (var i =0; i <w.frames.length; i++) { try{ selfw(w.frames[i]); } catch(e){} } } selfw(self);(function() { var e, i, all; document.onselectstart = null; document.oncontextmenu = null; all = document.getElementsByTagName("*"); for (i = 0; i < all.length; i += 1) { e = all[i]; e.onselectstart = null; e.oncontextmenu = null; } })();

이제 막혀 있는 사이트로 가서 금방 만든 즐겨찾기를 실행하면 스크롤, 마우스 우클릭 가능.

3. 알툴바 (개인적으로 제일 쉬운 듯)
이스트소프트에서 나온 알툴바를 설치 (http://www.altools.co.kr/Download/)
-> 익스플로러 상단에 '캡쳐▼' 라고 되어 있는거 누르면 팝업 메뉴 뜸 -> 마우스 우클릭 제한 해제 선택
(한 번 선택해놓으면 계속 우클릭 제한 해제 모드임)
마우스 왼쪽으로 안 긁어지는 사이트에서는 마우스 우 클릭 한 방만 하면 바로 뚫림.. (원더풀!)
:
Posted by 투잌

소수란?
1과 자신으로만 나누어지는 수.
ex) 2, 3, 5, 7, 11, 13, 17, 19, 23 ...

특징
약수의 개수는 1과  자신, 2개 뿐이다.
 >> (해당 수)  / (해당 수의 약수) >> 제대로 나눠질 때의 횟수는 딱 2번!

해당 특징을 가지고 프로그래밍을 해보았다. 함수는 while 과 if 를 사용.


ㅁ 2 부터 50까지의 범위를 주기 위해 최초 시작수인 iNum 을 2로 초기화.
ㅁ 시작수까지 나누기를 시작할 최초 시작수인 iAny 를 1로 초기화.
ㅁ 나눗셈이 성공할 때마다 횟수를 세기 위해 count 를 0으로 초기화.

ㅁ 9번째 줄에서 소수를 구할 범위를 지정하였다. 2부터 시작해서 50안의 범위라면 아래쪽의 반복문이 루프~
ㅁ 11번째 줄에서 iAny의 범위를 고정시켰다. iNum보다 커지면 반복문 종료.
ㅁ 루프가 반복될 때마다 iNum을 iAny 로 나눠보고 나머지가 발생하지 않을때
    >> 나눗셈이 성공할 때
    >> count 를 1씩 더한다.

ㅁ 소수는 약수 갯수가 딱 2개다. 19번 줄의 조건으로 인해, count가 2였던 숫자만 아래쪽에 출력.

ㅁ 매번 검사할 때마다 iAny는 1로, count는 0이 되어 있어야 정확히 검사가 가능하다.
ㅁ iNum 을 +1 해서 9번줄로 점프.




컴파일 하면 이상 없이 결과 출력 성공.
:
Posted by 투잌
2010. 9. 29. 16:49

0929) 공부 / (펌) 실수를 2진수로 표현 공부2010. 9. 29. 16:49

 

 부호                                                    <---------------    e   ---------------->

 1  0  0  0  0  0  0  1  0  0  0  0  0  1  0  1
        <-------------    m   ------------->

정수부를 m, 실수부를 e로 정의했을 때 실수를 2진수로 표현하는 방식은 다음과 같습니다. (2바이트 = 16비트를 이용한다.)





중요한건 저 공식이 아니라, 저런 공식을 사용하여. 처리한다는 것입니다..

m은 정수부를 표현할만큼의 저장공간을 의미하고 e는 소수부를 표현할만큼의 저장공간을 의미합니다..

그러니까..

개념적으로 이해하고 넘어가실것은, 어떠한 식(위의식)에 따라 실수부를 표현한다는 것입니다.

 

이젠, 실수부의 특징 몇가지를 살펴보겠습니다..

 

혹시 여러분중에서 float형으로 변수선언을 했더니 오차가 생겼다! 라는 이상한 경험을 하신적 있으신가요?~

여러분이 지금 사용하는 컴퓨터는 만능이아닙니다. 

모든 일을 처리할수있습니다. 하지만, 모든 일을 정확히 처리할순 없습니다.

무슨 소리일까요..? 같이 살펴 보시죠.

 

 

저게 .. 몬 지는 아직 공부하지 않아서 잘 모르겠습니다. 하지만,

전체적인 간단한 설명을 하자면 a와 b가 같으면 같습니다를 출력하고 다르면  다릅니다 를 출력하는 프로그램입니다.

하지만, 보시면.... 당당하게 " 같습니다 " 가 출력됬습니다.

분명히, 저정도 근사한 차이가 무슨 문제가 되겠느냐, 하시는 분들도 계시기에 몇가지 붙여보겠습니다.

만약에 변수 b에 연산을 한다면 어떻게 될까요.. 물론, 간단한 연산은 표현조차 안되겠지만,

반복해서 b를 더해준다면... 1000번만 실행해도 눈에 띄는 오차가 되어있을 것입니다.

우리가 쓰는 프로그램은 정말 엄청난 연산으로 이루어진 프로그램도 많답니다..

 

그렇다면, 저 오차가 어디서 생기는 것일까요..?

맨처음 보셨던 식에서 생기는 것입니다. 맨처음식에 어떤 수를 대입하셔도 0은 만들지 못합니다.

그럼 0을 표현하지 못한다는 얘긴가요?..0.0은 없는것인가요..?

아니죠. 컴퓨터는 정확한수를 표현하는것보단, 정말 미세한 오차로, 전혀 문제가없을 만큼의 근사치를 통해

실수를 표현합니다. 그래서, 오차는 당연하것이죠..

이런것이 , 부동소수점의 오차라고 표현합니다.

부동소수점 방식이랑, 위의식대로 소수점을 처리하는 방식이죠.

 

오차란 사람이 정한 값과 컴퓨터가 표현할수있는 형식상 오류때문에 어쩔수없이 생길수밖에없습니다.

하지만 얼마나 오차를 작게 만들어서 무리없이 사용하느냐도 중요합니다.

 

간단하게 , 저번포스트부터 정수와 실수의 표현방식에 대해서 알아보았습니다 .

두개를 같이 쓸까하다가  지루할것같아서 나눠봤습니다.

읽느라 수고하셨구요. 그럼 다음 포스트에서 뵙겠습니다.

'공부' 카테고리의 다른 글

1011) 마우스 오른클릭 막음 해제 (펌 방지 해제)  (0) 2010.10.11
1008) C언어로 2 ~ 50까지 소수 구하기 (코드)  (0) 2010.10.08
0923) C 보충  (0) 2010.09.23
0920) 컴파일  (0) 2010.09.20
0920) 환경변수 등록  (0) 2010.09.20
:
Posted by 투잌