"서명 된"키워드의 실제 사용은 무엇입니까?
부호없는 정수는 양수 (및 0) 일 뿐이며 일반 정수에 비해 두 배의 값을 가질 수 있습니다. 차이점이 있습니까?
int variable = 12;
과:
signed int variable = 12;
언제, 왜 서명 된 키워드를 사용해야합니까?
signed키워드 를 사용할 수있는 인스턴스는 하나뿐입니다 . signed char는 항상 "plain" char과 다른 유형이며 구현에 따라 서명되거나 서명되지 않은 유형일 수 있습니다.
C ++ 14 3.9.1 / 1은 다음과 같이 말합니다.
char객체가 음수 값을 보유 할 수 있는지 여부는 구현에서 정의 됩니다. 문자는 명시 적으로 선언unsigned되거나signed. 일반char,,signed char및unsigned char세 가지 구별 유형입니다 [...]
다른 컨텍스트 signed에서는 중복됩니다.
C ++ 14 이전 (및 C)에는 두 번째 인스턴스 인 비트 필드가있었습니다. 예를 들어, int x:2;(클래스의 선언에서)와 같 unsigned int x:2;거나 같은지 구현 정의 되었습니다 signed int x:2.
C ++ 11 9.6 / 3은 다음과 같이 말했습니다.
그것은 일반 (어느 쪽도 명시 적으로 서명되지도 부호가) 여부를 구현 정의이다
char,short,int,long, 또는long long비트 필드가 서명 또는 부호.
그러나 C ++ 14 이후로 이것은 int x:2;항상 signed int. 토론 링크
의 경우 int차이가 없습니다. 와만 차이가납니다 char.
char서명 여부에 관계없이 정의되지 않습니다.char,,signed char그리고unsigned char세 가지 유형이 있습니다.
따라서 (아마도 드물게) signed필요한 경우 사용해야 합니다 signed char. 그 외에는 이유가 생각 나지 않습니다.
signed기본 정수 유형입니다. 그래서 아니, 당신이 준 예에는 차이가 없습니다. 의 경우에만 차이가 있습니다 char.
출처 : C ++ 참조
int가 관련된 두 가지 사이에는 차이가 없습니다. unsigned int를 더 쉽게 정렬하고 읽을 수 있도록 선언하는 경우 서식 지정을 위해 서명 된 단어를 포함 할 수 있지만 모든 의도와 목적을 위해 서명 된 키워드를 사용할 필요가 없습니다.
참조 URL : https://stackoverflow.com/questions/28012943/what-is-the-actual-use-of-signed-keyword
'program story' 카테고리의 다른 글
| MySQL Alter 테이블로 인해 오류 : 잘못된 NULL 값 사용 (0) | 2020.12.24 |
|---|---|
| RecyclerView에서 불일치가 감지되었습니다. 스크롤하는 동안 RecyclerView의 내용을 변경하는 방법 (0) | 2020.12.24 |
| How to open URL in Microsoft Edge from the command line? (0) | 2020.12.24 |
| 파이썬 데코레이터는 함수가 클래스에 속한다는 것을 잊게 만듭니다. (0) | 2020.12.24 |
| 루트 컨텍스트를 어떻게 지정합니까? (0) | 2020.12.24 |