2018/08
-
strcmp와 strncmpCoding/Tip !! 2018. 8. 20. 12:39
strcmp 와 strncmp 를 사용하는 방법이 아닌 왜 사용하는가에 대한 포스팅이다. C언어에서의 기본 형식은 비교 연산으로 값의 크기를 비교한다. 하지만 배열은 메모리 주소를 값으로 가지기 때문에 비교연산시에 메모리 주소를 비교하게 된다. 그러므로 원치 않는 결과가 발생하게 된다. 예를 들어 보겠다. char example1[10] = "hi hi"char example2[10] = "hi hi" if(example1 == example2){cout
-
10진수의 표현ETC/자료구조 2018. 8. 20. 12:32
10진수의 표현의 경우 2가지가 존재한다. 존(Zone) 형식과 팩(Pack)형식이다. * 존 형식10진수 한자리를 표현하는데 있어서 우리는 1바이트(8비트)를 이용하는데그 중에 반인 4비트는 존 영역으로 나머지 4비트는 수치 영역으로 사용되며존 영역은 항상 '1 1 1 1' 로 표시한다. 수치 영역에는 표현할 10진수의 한 자리의 값에 대한 2진수 값이 표현된다.4비트로는 당연히 0~15까지의 수를 표현 할 수 있으며 10~15는 A~F를 이용하여 한 자리 수로 표현하게된다. 존 영역은 여러자리의 10진수릂 표현할 경우 10진수의 자릿수 만큼 존 형식을 연결하여 사용하고부호는 최하위 바이트의 존 영역에 나타내게 된다. 다음은 이해를 돕기위한 존 영역의 예시이다.색깔 하나마다 한바이트를 의미한다. 상위비..
-
2진수의 정수 표현 방식(부호절대값, 1의보수, 2의보수)ETC/자료구조 2018. 8. 20. 12:18
보수란 쉽게 말해 보충해주는 수라고 생각하면 편하다 예를들어 3에 대한 10의 보수는 7이고 5에대한 16의 보수는 11이된다. 2진수의 정수 표현은 총 3가지다~ * 부호절대값의 표현너무쉽다~ 최상위 비트 MSB(Most Siginificant Bit)에 부호를 표시하고 나머지 비트에 표현할 2진수의 값을 넣어주면 끝난다.ex)0 0 0 1 0 1 0 1 = 211 0 0 1 0 1 0 1 = -21 * 1의 보수굉장히 간단하다양수는 위의 부호절대값처럼 표현하면 된다.보수를 취하고싶은 수를 모든비트가 1인 수에서 빼면된다. 2진수를 1의보스형식으로 변환하여 표현하면 된다.1바이트를 이용해서 2진수를 표현하는 경우 1의 보수를 만드는 방법은 다음과 같다. -21을 1의 보수 형식을 취한다고 하면 1 1 ..