2009년 9월 28일 월요일

[Matlab] - 이진수 함수

머 그냥 인터넷에서 찾으면 쉽게 찾을수 있지만...

메트랩에서 10진수를 2진수로 바꾸려면
b = dec2bin(d)
를 쓰면 되고 반대로 하려면
d = bin2dec(b)
이렇게 하면 된다.

이렇게 해서 얻어낸 b는 string이다(아마 아스키 코드였던거 같다)
즉 b(1) = '0' 이면
t = b(1) + 1 - 1
이라는 명령을 실행하면
t = 48
이라고 나온다.(결국엔 C랑 별반 다를게 없었군...)

그리고 쓰기 불편한게...b(1)은 첫번쩨 자리가 아니라 제일 높은 자리이다. 제일 낮은 자리는 string b의 제일 마지막에 있다....(제기랄) 그럼 제일 마지막 자리는 어떻게 찾아야 할까?
b(numel(b))
가 제일 마지막 자리다.
numel(b)
가 b의 자릿수를 구하는 함수인것이다.

그럼 이정도만 알면 2진수는 문제 없겠지?ㅋ

댓글 없음:

댓글 쓰기