혹시 C언어에서~~~

hurtak의 이미지

C언어에서 ~ 표시가 무엇을 의미하는지 궁금합니다?

C++에서는 ~표시가 소멸자인데...C에서 사용된 경우는 처음 봤습니다.

그리고, 0xffff0000L 이런식으로 마지막 끝에 L을 붙이는 경우도 있던데 이건 왜 그러는지 알고 싶습니다.

알고 계신 분들은 리플 남겨 주십시오

PS. 검색을 해야하지만 검색했더니, 수 백 페이지가 나오고 3페이지 읽었더니 모두 다 관련 없늘 글이라서^^;;;

vacancy의 이미지

~ 면 not 연산자 아니었나 싶네요.
( logical not이 아니고 -_-a bit 연산자. )

L을 접미사로 붙이는 건,
해당 상수가 long 형이라는 것을 명시적으로 기술하는 것입니다.

쿨링팬의 이미지

C에서 ~는 negation을 나타냅니다.
마땅한 한글이 생각 안 나네요.

negation 동작은 다음과 같습니다.
0xffff0000 이란 수가 있으면,
~0xffff0000 는 0x0000ffff 하고 같은 의미입니다.
즉 0은 1로, 1은 0으로 바꾼다는 의미죠.

그리고 숫자 뒤의 알파벳의 의미는 아래와 같습니다.
영어로 설명된 것을 그대로 옮깁니다.

The number may be suffixed by:

U or u: Causes the number to be an unsigned long integer.

L or l: If the number is a floating-point number, then it is a long double, otherwise it is an unsigned long integer.

F or f: Causes the number to be a floating-point number.