VEXcode Pro V5에서 정수 변수 생성

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

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

문자 cvar = 50;
자 cvar = 50;
짧은 svar = 50;
int ivar = 50;
개의 긴 lvar1 = 50;
긴 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

양수 값("부호 없음")만 허용하는 그룹 또는 데이터 유형이 있습니다.

데이터 형식 가장 작은 값 가장 큰 값
서명되지 않은 문자 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
부호 없는 긴 긴 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, "double은 %d 바이트입니다.", sizeof(double));

vartypes.png


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

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

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

char를 살펴보겠습니다. 쉽게 표시할 수 있을 만큼 짧습니다.

사용된문자.jpg

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

charvalues.jpg

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

컴퓨터에서는 2의 보수(Two's Complement)라는 연산을 사용합니다. 이는 Bitwise 작업 항목의 일부이며 이 문서의 범위를 벗어납니다. 이 주제에 대한 자세한 내용은 다른 문서에서 논의됩니다.


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

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

char var1 = '9'; 
int var2 = 9;

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

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

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

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'의 정수 표현 =  %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

Last Updated: