c언어 질문 비트단위 계산과 아스키코드 사용이유
c#만 배웠다가 최근에 c를 간단히 배웠는데요
c#도 취미개발자 수준이지 전문적으로 배운게 아니고 야메로 배운거라
c에서 비트단위 계산을 하는 이유랑 아스키코드를 쓰는 이유가 잘 이해가 가지 않더라구용
c#에서는 그런기능을 쓴 적이 없어서요 알려주실분 계신가요
55글자 더 채워주세요.
2개의 답변이 있어요!
비트 연산을 쓰는 이유는 아무래도 속도 때문입니다. 예를 들어 4*2보다 4 <<1 이렇게 bit를 shift하는 연산이 훨씬 빠릅니다.
컴퓨터는 모든 데이터를 0과 1로 표현합니다. 그렇다면 문자를 어떻게 표현할까요? 0과1을 통해서 문자를 표현할때 필요한게 바로 아스키 코듭니다.
아스키 테이블을 보면 1100001을 a과 매칭되고 1100010은 b와 매칭됩니다.
물론 C#에서도 C언어와 같은 이유로 필요에 따라 그 기능을 쓰시게 될꺼에요.
C#도 비트 연산이 가능하기는 할 것입니다.
비트연산을 하는 가장 큰 이유는 아무래도 속도가 빠르기 때문으로 알고 있습니다.
하지만 요즘은 대부분의 장비들이 성능이 좋다보니 차이가 미미하기는 합니다.
비트 연산은 일반적인 프로그래밍보다는 하드웨어를 제어하는 곳에서 많이 사용합니다.
예를 들면 세븐세그먼트를 제어할 때 보면 전부다 비트 연산을 사용해서 신호를 보내게 됩니다.
세븐 세그먼트처럼 하드웨어를 직접적으로 제어를 하지 않는 이상 요즘은 많이 사용을 안하고 있습니다.