정수를 보유하는 유형: char, short, int, long, long long

몇 가지 예를 살펴보겠습니다.

문자 cvar = 50;
문자 cvar = 50;
짧은 svar = 50;
int ivar = 50;
long lvar1 = 50;
long lvar2 = 50;

기본 산술 연산자:

대부분은 기본 산술 연산자와 우선 순위에 익숙합니다. + , -, *, /

다음은 단항 연산자를 사용하는 방법의 몇 가지 예입니다. ++ 및 --:

표현 에 해당 또한 동등
cvar += 5; cvar = cvar + 5;  
++cvar; cvar++; cvar = cvar + 1;
--cvar; cvar--; cvar = cvar - 1;
변수++ 대 ++변수에 주의하십시오!

++변수

정수 x = 10, y = 20; 
X = ++y;

참고: 이 작업 후: X = 21, Y도 = 21입니다.

변수++

정수 x = 10, y = 20; 
X = y++;

참고: 이 작업 후: X = 20, Y = 21.


정수 데이터 유형 비교

양수 값과 음수 값을 모두 허용하는 그룹 또는 데이터 유형("서명됨")이 있습니다. 그러나 암시적이므로 지정할 필요가 없습니다. 아래 참조:

데이터 형식 가장 작은 값 가장 큰 값
-2 7 또는 -128 2 7 - 1 또는 127
짧은 -2 15 또는 -32,768 2 15 - 1 또는 32,767
정수 -2 31 또는 -2,147,483,648 2 31 – 1 또는 2,147,483,647
-2 31 또는 -2,147,483,648 2 31 – 1 또는 2,147,483,647
긴 긴 -2 63 또는 -9,223,372,036,854,775,808 2 63 – 1 또는 9,223,372,036,854,775,807

"unsigned" 양수 값만 허용하는 그룹 또는 데이터 유형이 있습니다.

데이터 형식 가장 작은 값 가장 큰 값
서명되지 않은 문자 0 2 8 - 1 또는 255
서명되지 않은 짧은 0 2 16 - 1 또는 65,535
부호 없는 정수 0 2 32 – 1 또는 4,294,967,295
서명되지 않은 긴 0 2 32 – 1 또는 4,294,967,295
unsigned long long 0 2 64 – 1 또는 18,446,744,073,709,551,615

데이터 크기는 어떻게 확인합니까?

당분간은 sizeof( ) 연산자를 알아야 합니다. 이것은 다음 섹션에서 약간 다룰 "바이트"라는 메모리 저장 단위를 제공합니다.

sizeof()연산자를 사용하여 입력해야 하는 바이트 수를 알려주는 샘플입니다. 직접 확인하려면 이것을 시도하십시오. 다른 컨트롤러로 변경하는 경우 항상 다음을 수행하여 확인할 수 있습니다.

Brain.Screen.setFont(fontType::mono30);    
Brain.Screen.printAt(1, 20,"char에는 %d 바이트가 있습니다.", sizeof(char));
Brain.Screen.printAt(1, 50,"short에는 %d 바이트가 있습니다.", sizeof(short)); 
Brain.Screen.printAt(1, 80,"int에는 %d 바이트가 있습니다.", sizeof(int));
Brain.Screen.printAt(1, 110, "long에는 %d 바이트가 있습니다.", sizeof(long));
Brain.Screen.printAt(1, 140, "long long에는 %d 바이트가 있습니다.", sizeof(long long));
Brain.Screen.printAt(1, 170, "float에는 %d 바이트가 있습니다.", sizeof(float));
Brain.Screen.printAt(1, 200, "더블에는 %d 바이트가 있습니다.", sizeof(double));

vartypes.png


바이트는 무엇을 의미합니까?

"바이트"는 데이터 저장의 표준 단위입니다.

1바이트 = 8비트. 1비트는 1과 0(2진 값)의 값만 가질 수 있는 가장 작은 메모리 단위입니다. 그러나 시스템에서 얻을 수 있는 가장 작은 메모리 단위는 1바이트입니다. 따라서 1.5바이트 등을 요청할 수 없습니다.

char에 대해 알아보겠습니다. 쉽게 표시할 수 있을 만큼 짧습니다.

중고차.jpg

모두 1로 채워지면 28-1이 됩니다. 이 값은 "unsigned char"가 보유해야 하는 최대값이어야 합니다.

charvalues.jpg

시스템은 음수 값을 제공하기 위해 최상위 비트 을 예약합니다. 따라서 "char"의 최대값은 -128에서 127 사이입니다. 그러나 데이터 범위의 차이에도 불구하고 용량은 여전히 "unsigned char"와 동일합니다.

컴퓨터에서는 2의 보수라는 연산을 사용합니다. 이것은 이 문서의 범위를 벗어나는 Bitwise 작업 항목의 일부입니다. 이 주제에 대한 자세한 내용은 다른 문서에서 설명합니다.


char과 int의 차이점은 무엇입니까?

다음은 "char" 및 "int"의 몇 가지 일반적인 용도입니다.

문자 var1 = '9'; 
int var2 = 9;

"char"는 'a', 'b' 또는 '9'와 같은 기호만 포함할 수 있다는 일반적인 오해입니다. 그것은 잘못된 것입니다.

실제로 "char" 유형은 "int" 유형과 동일하지만 char의 용량이 1바이트에 불과하고 int의 용량이 4바이트라는 점만 다릅니다. 따라서 데이터 크기 범위는 둘 사이에 다릅니다. 위의 데이터 범위 표에서 확인할 수 있습니다.

다음 코드 세그먼트는 char 및 int를 보다 명확하게 보여줍니다.

정수 iX = '0';
  문자 cX1 = 49;
  문자 cX2 = 50; 

  Brain.Screen.printAt(3, 20, "'%c의 정수 표현 ' =  %d",iX, iX);
  Brain.Screen.printAt(3, 50, "'%c의 정수 표현 ' =  %d",cX1, cX1);
  Brain.Screen.printAt(3, 80, "'%c의 int 표현 ' =  %d",cX2, cX2);
  Brain.Screen.printAt(3, 140, "그래서 '%c' - '%c' =  %d ", cX2, iX, cX2 - cX1);

산출:

'0'의 int 표현 = 48
'1'의 int 표현 = 49
'2'의 int 표현 = 50

따라서 '2' – '0' = 1

'0'이 48을 표시하는 이유는 무엇입니까?

이것은 "ASCII 코드" 변환이라는 주제로 이어질 것입니다. ASCII 표준은 1963년에 발표된 IEEE 이정표 중 하나입니다. 이것은 이 기사의 범위를 벗어납니다. ASCII 코드 테이블을 온라인으로 검색하는 것이 좋습니다. ASCII 코드 테이블에 대한 많은 정보를 온라인에서 찾을 수 있습니다.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus