부호있는 문자가 127보다 큰 값을 가질 수있는 이유는 무엇입니까?

Cătălina Sîrbu
int main()
{
    char MCU = 0b00000000;
    char al_av = 0b10100000;

    // Before bit operation
    cout << "MCU = " << int(MCU) << endl;

    MCU = MCU | al_av;

    // After the bit operation
    cout << "MCU = " << int(MCU) << endl;   // Expected 160, got -96

    char temp = 160;

    cout << temp;   // got the a with apostrophe

    return 0;
}

I는 출력을 기대 char temp(160)은 [-127,127] 간격을 초과 할뿐만 아니라, 결과는 ASCII 테이블의 하나 (때문에 네가티브 번호 (또는 경고 / 에러)로 아포스트로피와 )

CPP 참조 :

대상 시스템에서 가장 효율적으로 처리 할 수있는 문자 표현을위한 char 유형 ( signed char 또는 unsigned char과 동일한 표현 및 정렬을 갖지만 항상 고유 한 유형 임)

이탤릭체로 쓰여진 내용을 이해하지 못합니다 (또한이 질문에 많은 도움이되는지도 모르겠습니다). 암시 적 변환이 있습니까?

YSC

부호있는 문자가 127보다 큰 값을 가질 수있는 이유는 무엇입니까?

그럴 순 없어.

char x = 231;

여기에는 (암시 적) 정수 변환이 있습니다. 231은 유형 prvalue 이며 변환되기 전에 int-25취합니다 char(시스템에 서명 됨). 당신은 당신의 컴파일러에게 그것에 대해 경고하도록 요청할 수 있습니다 -Wconstant-conversion.


대상 시스템에서 가장 효율적으로 처리 할 수있는 문자 표현을위한 char 유형 ( signed char 또는 unsigned char과 동일한 표현 및 정렬을 갖지만 항상 고유 한 유형 임)

이탤릭체로 쓰여진 것을 이해하지 못합니다

이것은 유형이 유지 된 것과 관련이없는, 단지 세 가지 유형의 보장 char, signed char그리고 unsigned char일반 속성을 가지고있다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

awk의 printf가 127보다 큰 문자 값을 멀티 바이트 문자로 해석하는 이유는 무엇입니까?

분류에서Dev

rust에서 127보다 큰 값을 가진 리터럴 바이트 문자열을 쓸 수 있습니까?

분류에서Dev

코드 페이지 437이있는 cmd.exe에서 유형을 사용할 때 "숫자"가 127보다 큰 문자 앞에 ┬가 추가되는 이유는 무엇입니까?

분류에서Dev

사용자가 그룹 또는 기타보다 낮은 권한을 가질 수있는 이유는 무엇입니까? 누가 변경할 수 있습니까?

분류에서Dev

임계 값보다 큰 특정 문자열 뒤에 숫자가있는 줄을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

일부 유니 코드 문자가 일반 텍스트보다 큰 이유는 무엇입니까?

분류에서Dev

PrivateMemorySize64가 GC.GetTotalMemory보다 큰 값을 반환하는 이유는 무엇입니까?

분류에서Dev

개요가 div보다 큰 이유는 무엇입니까?

분류에서Dev

smtp는 이메일을 보내고 하나의 첨부 파일이 두 개의 Content-Type을 가질 수있는 이유는 무엇입니까?

분류에서Dev

OpenCV에서 읽을 수있는 가장 큰 이미지는 무엇입니까?

분류에서Dev

큰 따옴표가 문자열을 함수로 실행하는 이유는 무엇입니까?

분류에서Dev

자체 크기보다 정렬이 더 큰 유형을 가질 수 있습니까?

분류에서Dev

`as` 연산자가 일반 EIntfCastError 대신 불쾌한 EAccessViolation을 던질 수있는 이유는 무엇입니까?

분류에서Dev

이 UITextField가 예상보다 두 배 큰 이유는 무엇입니까?

분류에서Dev

집계 함수가있는 SQL 쿼리가 더 큰 쿼리를 실행할 때 잘못된 값을 반환하는 이유는 무엇입니까?

분류에서Dev

길이가 배열 자체보다 작은 문자열 리터럴을 할당 할 수있는 이유는 무엇입니까?

분류에서Dev

부호있는 음수가 부호없는 숫자로 변환되는 이유는 무엇입니까?

분류에서Dev

이름없이 임시 테이블을 가질 수있는 이유는 무엇입니까?

분류에서Dev

빈 배열이 널이 아닌 차원을 가질 수있는 이유는 무엇입니까?

분류에서Dev

JVM 총 할당 메모리가 -Xmx보다 큰 이유는 무엇입니까?

분류에서Dev

"Unevictable"메모리가 "Mlocked"메모리보다 큰 이유는 무엇입니까?

분류에서Dev

특정 값보다 큰 숫자가 아닌 텍스트 파일의 모든 줄을 삭제하는 방법은 무엇입니까? (문자열 포함)

분류에서Dev

이 함수가있는 문자열에서` "az"`를 찾을 수없는 이유는 무엇입니까?

분류에서Dev

다른 enum의 기본 유형으로 enum을 가질 수없는 이유는 무엇입니까?

분류에서Dev

TypeScript의 인터페이스에 대해 숫자 및 문자열 인덱스 서명을 모두 가질 수있는 이유는 무엇입니까?

분류에서Dev

Switch 문 : 다른 경우에 동일한 변수 이름을 가질 수없는 이유는 무엇입니까? 자바

분류에서Dev

내 min_free_kbytes가 문서화 된 계산보다 크고 문서화 된 최대 값보다 큰 이유는 무엇입니까?

분류에서Dev

du와 ls가보고 한 파일 크기간에 큰 차이가있는 이유는 무엇입니까?

분류에서Dev

다음 페이지 토큰 수가 제한된 이유는 무엇입니까?

Related 관련 기사

  1. 1

    awk의 printf가 127보다 큰 문자 값을 멀티 바이트 문자로 해석하는 이유는 무엇입니까?

  2. 2

    rust에서 127보다 큰 값을 가진 리터럴 바이트 문자열을 쓸 수 있습니까?

  3. 3

    코드 페이지 437이있는 cmd.exe에서 유형을 사용할 때 "숫자"가 127보다 큰 문자 앞에 ┬가 추가되는 이유는 무엇입니까?

  4. 4

    사용자가 그룹 또는 기타보다 낮은 권한을 가질 수있는 이유는 무엇입니까? 누가 변경할 수 있습니까?

  5. 5

    임계 값보다 큰 특정 문자열 뒤에 숫자가있는 줄을 구문 분석하는 방법은 무엇입니까?

  6. 6

    일부 유니 코드 문자가 일반 텍스트보다 큰 이유는 무엇입니까?

  7. 7

    PrivateMemorySize64가 GC.GetTotalMemory보다 큰 값을 반환하는 이유는 무엇입니까?

  8. 8

    개요가 div보다 큰 이유는 무엇입니까?

  9. 9

    smtp는 이메일을 보내고 하나의 첨부 파일이 두 개의 Content-Type을 가질 수있는 이유는 무엇입니까?

  10. 10

    OpenCV에서 읽을 수있는 가장 큰 이미지는 무엇입니까?

  11. 11

    큰 따옴표가 문자열을 함수로 실행하는 이유는 무엇입니까?

  12. 12

    자체 크기보다 정렬이 더 큰 유형을 가질 수 있습니까?

  13. 13

    `as` 연산자가 일반 EIntfCastError 대신 불쾌한 EAccessViolation을 던질 수있는 이유는 무엇입니까?

  14. 14

    이 UITextField가 예상보다 두 배 큰 이유는 무엇입니까?

  15. 15

    집계 함수가있는 SQL 쿼리가 더 큰 쿼리를 실행할 때 잘못된 값을 반환하는 이유는 무엇입니까?

  16. 16

    길이가 배열 자체보다 작은 문자열 리터럴을 할당 할 수있는 이유는 무엇입니까?

  17. 17

    부호있는 음수가 부호없는 숫자로 변환되는 이유는 무엇입니까?

  18. 18

    이름없이 임시 테이블을 가질 수있는 이유는 무엇입니까?

  19. 19

    빈 배열이 널이 아닌 차원을 가질 수있는 이유는 무엇입니까?

  20. 20

    JVM 총 할당 메모리가 -Xmx보다 큰 이유는 무엇입니까?

  21. 21

    "Unevictable"메모리가 "Mlocked"메모리보다 큰 이유는 무엇입니까?

  22. 22

    특정 값보다 큰 숫자가 아닌 텍스트 파일의 모든 줄을 삭제하는 방법은 무엇입니까? (문자열 포함)

  23. 23

    이 함수가있는 문자열에서` "az"`를 찾을 수없는 이유는 무엇입니까?

  24. 24

    다른 enum의 기본 유형으로 enum을 가질 수없는 이유는 무엇입니까?

  25. 25

    TypeScript의 인터페이스에 대해 숫자 및 문자열 인덱스 서명을 모두 가질 수있는 이유는 무엇입니까?

  26. 26

    Switch 문 : 다른 경우에 동일한 변수 이름을 가질 수없는 이유는 무엇입니까? 자바

  27. 27

    내 min_free_kbytes가 문서화 된 계산보다 크고 문서화 된 최대 값보다 큰 이유는 무엇입니까?

  28. 28

    du와 ls가보고 한 파일 크기간에 큰 차이가있는 이유는 무엇입니까?

  29. 29

    다음 페이지 토큰 수가 제한된 이유는 무엇입니까?

뜨겁다태그

보관