#define DRCHECK 00000111 생략 drchk = DRCHECK & ohdr.bmask ; /*ohdr.bmask = 32*/
이런 코드를 넣었는데 원하는 값인 0이 안나오더라구요
그냥 7과 &연산을 하면 제대로 나오는데요 혹시 define에서 문제가 있는건가요??
소스상에 별 문제는 없어 보입니다. 다만 차이라면 DRCHECK하고 ohdr.bmask하고 비트수가 틀릴 경우인데, 이 경우에도 DRCHECK의 상위 비트가 0으로 확장되니 별 문제는 없습니다. 제가 봤을땐 님의 코드 중에서 다른 부분이 문제가 아닌가 생각되네요. ohdr.bmask가 다른 값 아닌가요? 다시 한번 확인 해보십시오.
C에서 이진수가 그냥 먹나요?
C책을 본지가 넘 오래돼서 가물가물한데다가 C에서 2진수를 직접쓰는걸 본적이 없는거 같은데요...
결론적으로 제가 알기론 C에서 이진수를 직접 못쓰는 걸로 알고 있는데... ==>틀렸다면 지적해주세요...^^
직접 이진수를 define하신것 같은데 16진수로 넣어보세요...
이렇게요
#define DRCHECK 0x07
그럼....
서명.....음, 서명이라...
아싸!!! Three Go!
c에서 2진수 상수는 표현할수 없나 봅니다.
#define DRCHECK 00000111 생략 drchk = DRCHECK & ohdr.bmask ; /*ohdr.bmask = 32*/ 이런 코드를 넣었는데 원하는 값인 0이 안나오더라구요 그냥 7과 &연산을 하면 제대로 나오는데요 혹시 define에서 문제가 있는건가요??
발 담갔다. 이제 익숙해 지는길만이..
참고로 숫자앞에 0을 붙인경우 8진수로 인식됩니다.
제가 약간 설명을 잘못 드렸네요.... 위에 고도리님께서 쓰신 표현이 맞습니다. 저도 잠시 헷갈려서..... 그럼 2만요......
위에 이미 써놓으셨는데 의도하신 바는 아래 세가지 경우로 가능할 겁니다. #define DRCHECK 0x7 - 16진수 #define DRCHECK 07 - 8진수 #define DRCHECK 7 - 10진수 이진수는 일반적으로는 표기법이 없습니다. 가능한 컴파일러가 있을지도 모르지만요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
소스상에 별 문제는 없어 보입니다.다만 차이라면 DRCHECK하고 o
소스상에 별 문제는 없어 보입니다.
다만 차이라면 DRCHECK하고 ohdr.bmask하고
비트수가 틀릴 경우인데, 이 경우에도 DRCHECK의
상위 비트가 0으로 확장되니 별 문제는 없습니다.
제가 봤을땐 님의 코드 중에서 다른 부분이 문제가
아닌가 생각되네요. ohdr.bmask가 다른 값 아닌가요?
다시 한번 확인 해보십시오.
c에서 이진수?
C에서 이진수가 그냥 먹나요?
C책을 본지가 넘 오래돼서 가물가물한데다가 C에서 2진수를 직접쓰는걸
본적이 없는거 같은데요...
결론적으로 제가 알기론 C에서 이진수를 직접 못쓰는 걸로 알고 있는데...
==>틀렸다면 지적해주세요...^^
직접 이진수를 define하신것 같은데 16진수로 넣어보세요...
이렇게요
그럼....
서명.....음, 서명이라...
아싸!!! Three Go!
Re: define 문제인지 확인좀 해주세요
c에서 2진수 상수는 표현할수 없나 봅니다.
발 담갔다. 이제 익숙해 지는길만이..
참고로 숫자앞에 0을 붙인경우 8진수로 인식됩니다.
참고로 숫자앞에 0을 붙인경우 8진수로 인식됩니다.
제가 약간 설명을 잘못 드렸네요....위에 고도리님께서 쓰신 표현이
제가 약간 설명을 잘못 드렸네요....
위에 고도리님께서 쓰신 표현이 맞습니다.
저도 잠시 헷갈려서.....
그럼 2만요......
위에 이미 써놓으셨는데의도하신 바는 아래 세가지 경우로 가능할 겁니다
위에 이미 써놓으셨는데
의도하신 바는 아래 세가지 경우로 가능할 겁니다.
#define DRCHECK 0x7 - 16진수
#define DRCHECK 07 - 8진수
#define DRCHECK 7 - 10진수
이진수는 일반적으로는 표기법이 없습니다. 가능한 컴파일러가 있을지도 모르지만요.
댓글 달기