| [ KAIST ] in KIDS 글 쓴 이(By): Sue (지수) 날 짜 (Date): 2001년 4월 9일 월요일 오후 12시 38분 34초 제 목(Title): Re: 산수질문입니다. T_T >>>>산수적인 측면에서 보면... n의 보수란 더해서 n이 되는 수입니다. 예를 들면 2에 대한 10의 보수를 구하면 8이 됩니다. 이것이 어떤 의미가 있냐고 하면 GF(10)={0,1,2,3,4,5,6,7,8,9}{mod 10} 상에서 2의 덧셈에 대한 역원이 2에 대한 10의 보수인 8이라는 소립니다. 이것을 전산 쪽에서 말하는 2's complement에 적용하면 더해서 10(2) 가 되는 수라고 하지만 정확하게는 2byte integer 에서는 더해서 다음이 되는 수, 1 00000000 00000000 즉 carriage bit를 발생시키면서 모든 bit를 0으로 바꾸는 수라고 하겠습니다. 이 수는 1's complement에 1을 더 한 수와 같죠. 이를 다른 말로 하면 GF(2^16) 상에서 어떤 수에 대한 2's complement는 바로 그 수의 GF(2^16) 상에서의 덧셈에 대한 역원이다 입니다. 굳이 수식으로 표현 하면 (signed) int = ( ((unsigned int) + 2^15) mod 2^16 ) - 2^15 ex) ((32767 + 2^15) mod 2^16) - 2^15 = 32767 ((32768 + 2^15) mod 2^16) - 2^15 = -32768 이상을 토대로 보면 2's complement로 음수를 표현하면 별도의 뺄셈회로 없이 덧셈회로만으로도 뺄셈도 가능하다는 결론이 나옵니다. ------------- GF(n)(갈로아 필드)에 대한 자세한 설명은 수학과 분에게............... ** sort_int proc mov cx,(ARRAY_COUNT - 1) mov si,offset integer_array L0: push cx mov bx,0 L1: mov ax, [si + bx] add bx,2 cmp ax,[si + bx] jle L2 mSwap [si+bx-2],[si+bx] L2: loop L1 pop cx loop L0 ret sort_int endp ** |