NULL
비트연산자는 비트단위연산자이다. 이미지로 보는것과 똑같다. &연산자는0을 제외한 값이 둘다 동일하면 참. | 연산자는하나이상이 참이라면 참 ^연산자는 XOR연산을 한다고 나와있는데 이것은 참이면 거짓으로 표현하고거짓이면 참으로 표현하는 연산자이다. 즉 서로 다르면 참이라고 표현하는 연산자이다. ~연산자는 0이면 1로 반환시키고 반대로1이면 0으로 반환시키는 연산자다. 쉬프트연산자라고 불리는 > 연산자를 설명하겠다. 그냥 방향대로 비트를몇칸옮길지 정할수있는 연산자이다. 칸을 옮기면 값은 당연히 달라진다. 쉬프트 연산자를 써서 비트칸을 옮기게 되면앞에있는 비트는 짤리고 그리고 칸이 옮겨지고 뒤에 빈자리는 0으로 채워진다. 쉬프트연산자의 단점은 CPU마다 결과값이 달라진다. 따라서 호환성이 요구되는경우에는 쉬..
MSB는 최상위 비트 또는 최상위 바이트가 있다. 정수의 표현방식은 바이트와는 상관없다. 바이트의 크기가 크면그만큼 넓은 범위의 정수를 표현할수있을 뿐이다. 흔히 하는 착각이 이런 경우이다. 단순히 MSB만 달라지면 부호가 달라지는줄 안다. 허나 전혀 그렇지않다. +5를 -5로 바꿀려면 2의보수를 취해야한다. 2의 보수는 머냐면 0은 1로 바꾸고 1은 0으로 바꾼다. 이것을 1의 보수라고 하며 2의 보수는 1의 보수를 한 상태에서 +1을 하게 되면 그게 바로 2의 보수이다. 이렇게 2의 보수를취해주면 값의 부호가 바뀐다. 반대로 -5에서 +5를 만들려고 해도 똑같이 2의보수를 취해주면 되는것이다. 부호를 바꿀땐 무조건2의보수를 취해줘야된다는걸 잊지말고 머릿속에 새겨넣자.
데이터 표현방식에서 가장 첫번째로는 진수가 있겠다. 진수는 다들 알고있는 흔한 2 , 8 , 10 , 16 .... n 진수이다. 우리는 일상생활에서 10진수를 사용하고 있다. 2진수는 ?0과 1로 데이터를 표현하는 방식 8진수는 ?0 ~ 7 까지가다가 10 11 12로 넘어간다. 10 = 8 , 11 = 9 , 12 = 10 인것이다. 16진수는 ?0~9까지는 자연수로 가다가 그 이후A~F까지 표현하다가 다시 오바되면00~0F , 10~1F , 20~2F이런 규칙성을 가지고 있다. 비트와 바이트 1비트가 8비트가 되면 1바이트가 된다. 2바이트는 16비트가 모여서 2바이트가 된것이다. 1바이트당 하나의 주소가 있다. 나중에 뒷단원으로 가다보면 심화설명이 있겠다. 2진수 10진수 변환법 예를 들어서 11..