English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 접두사 타입

C ++프로그래밍에서타입 접두사기본데이터 타입의 의미.

C++ 다음에 char, int 및 double 데이터 타입 앞에 접두사를 배치합니다. 접두사는 기본 타입의 의미를 변경하여 다양한 상황에 더 잘 맞출 수 있도록 합니다.

데이터 타입 접두사를 나열합니다:

  • signed

  • unsigned

  • long

  • short

조건자 signed, unsigned, long 및 short 정수형에 적용될 수 있습니다.signedunsigned 문자형에 적용될 수 있습니다.long 이진 정수형에 적용될 수 있습니다.

조건자 signedunsigned 그리고 long 또는 short 접두사. 예를 들어:unsigned long int.

C++ 약자 기호를 사용하여 선언할 수 있습니다.부호가 없는 짧은 정수또는무기수 장 정수int를 쓰지 않아도 됩니다. 단어 unsigned, short 또는 unsigned, longint는 기본적으로 포함됩니다. 예를 들어, 아래 두 개의 문장은 모두 무기수 정수형 변수를 선언합니다.

unsigned x;
unsigned int y;

C를 이해하기 위해++ 실험을 통해 유지수 정수와 무기수 정수 접두사 간의 차이를 설명해 보겠습니다:

#include <iostream>
using namespace std;
 
/* 
 * 이 프로그램은 부호가 있는 정수와 부호가 없는 정수 간의 차이를 보여줍니다
*/
int main()
{
   short int i;           // 부호가 있는 짧은 정수
   short unsigned int j;  // 부호가 없는 짧은 정수
 
   j = 50000;
 
   i = j;
   cout << i << " " << j;
 
   return 0;
}

위 프로그램이 실행될 때, 다음과 같은 결과가 출력됩니다:

-15536 50000

위 결과에서, 부호가 없는 짧은 정수 50,000의 비트 패턴은 부호가 있는 짧은 정수로 해석됩니다 -15,536.

이는 타입修饰자 설명 목록입니다:

데이터 타입크기의미
signed int4 바이트
정수에 사용됩니다(int와 동일)
unsigned int4 바이트비정수만 저장할 수 있습니다
short2 바이트작은 정수에 사용됩니다(범위-32768까지32767
long최소4바이트큰 정수에 사용됩니다(long int와 동일)
unsigned long4 바이트큰 양수나 0(unsigned long int와 동일)에 사용됩니다
long long8 바이트매우 큰 정수에 사용됩니다(long long int와 동일)
unsigned long long8 바이트매우 큰 양수나 0(unsigned long long int와 동일)에 사용됩니다
long double8바이트큰 부동소수점 수에 사용됩니다
signed char1 바이트문자에 사용됩니다(범위를 보장-127까지입니다127
unsigned char1 바이트문자에 사용됩니다(범위0에서255

short 타입修饰자

short의작은 정수(범위−32,767까지+32,767)입니다.

예를 들어

// 작은 정수
short a = 12345;

여기서 a는 short 정수 변수입니다.

주의할 것입니다: short는 short int와 동일합니다.

long 타입修饰자

만약 큰 숫자를 저장해야 한다면큰 정수(범위-2147483647까지2147483647),그 경우 타입修饰자 long을 사용할 수 있습니다. 예를 들어,

// 큰 정수
long b = 123456;

주의할 것입니다: long은 long int와 동일합니다.

long 타입修饰자는 double 변수와도 함께 사용할 수 있습니다.

// 큰 부동소수점 수
long double c = 0.333333333333333333L;

주의할 것입니다:long double를 나타내기 위해 L 접미사를 사용합니다. 접미사 L을 사용하지 않으면 double 값을 long double로 변환합니다(데이터 손실이 발생할 수 있습니다).

long long

long은 두 번 반복하여 long long 타입을 만들 수 있습니다. 이 타입은 long보다 큰 숫자를 위해 사용됩니다. long long 타입修饰자는 int와 함께 사용할 수 있습니다.

예를 들어

// long long int
long long num = 12345678;

signed 和 unsigned 修饰符

有符号(signed)变量可以包含정수和负整数,包括。예를 들어,

// 양수 값을 가진
signed int x = 23;
// 부정적인 정수 값을 가진
signed int y = -13;
// 0 값을 가진 정수
signed int z = 0;

여기서는,

  • x가 양수를 가지고 있습니다양수정수

  • y가 양수를 가지고 있습니다부정적인 값을 가진정수

  • z가0 값을 가진정수

비정수 변수(unsigned)는 비정수를만 저장할 수 있습니다. 예를 들어,

// 양수
unsigned int x = 2;
unsigned int y = 0;

여기서는,

  • x가 양수를 가지고 있습니다

  • y가 0을 가지고 있습니다

일반적으로, int 변수는 다음과 같은 범위를 저장할 수 있습니다 -2,147,483,648 까지입니다 2,147,483,647 의 값을 가지고 있습니다. 또한 unsigned int 변수는 다음과 같은 범위를 저장할 수 있습니다 0에서 4,294,967,295 의 값을 가지고 있습니다.

표시된 것처럼,

C ++표시된 것처럼,3다른 것들이 있습니다

이는 char가 표준 C와 다른 다른 char 유형인 char, signed char, unsigned char가 있기 때문입니다. 실제로는 기본적으로 두 가지 유형만 있습니다: signed char와 unsigned char. ++에서 signed char나 unsigned char가 다릅니다. 또한, 다른 컴파일러는 취향에 따라 char를 signed char나 unsigned char로 간주할 수 있습니다.

주의할 것입니다:char를 signed char나 unsigned char 대신 사용할 때, 이 유형은plain char(원시 문자).

알 수 있을 것입니다, signed char는 양수와 음수를 저장할 수 있지만 unsigned char는 양수만 저장할 수 있습니다(0)입니다.

signed char가 저장할 수 있는 정수 값의 보장 범위는-127까지입니다127까지, 그리고 unsigned char의 범위는0에서255.

// 원시 문자
char plain_1 = 65;
char plain_2 = 0;
// 부정적인 값을 가진 원시 문자
// 일부 컴파일러에 문제가 발생할 수 있습니다
char plain_3 = -56;
// signed char
signed char sin_1 = 12;
signed char sin_2 = 0;
signed char sin_3 = -12;
// unsigned char
unsigned char unsin_1 = -85;
unsigned char unsin_2 = 0;

여기서는,

  • plain_1 정적인 값을 가진 정수를 가지고 있습니다

  • plain_2 0 값을 가진 정수를 가지고 있습니다

  • sin_1 정적인 값을 가진 정수를 가지고 있습니다

  • sin_2 0 값을 가진 정수를 가지고 있습니다

  • sin_3 부정적인 값을 가진 정수를 가지고 있습니다

  • unsin_1 부정적인 값을 가진 정수를 가지고 있습니다

  • unsin_2 0 값을 가진 정수를 가지고 있습니다

주의할 것입니다: 일반 문자를 사용하여 숫자 연산을 수행하는 것은 좋지 않습니다; signed char 또는 unsigned char를 대신 사용해야 합니다. 원시 문자는 문자 값 저장에만 사용해야 합니다.

C++ 에서의 타입 제한자

타입 제한자는 변수에 대한 추가 정보를 제공합니다.

제한자의미
constconst 타입의 객체는 프로그램 실행 중에 수정되거나 변경되지 않습니다.
volatile조건자 volatile 컴파일러가 volatile 선언된 변수를 최적화하지 않도록 알려주어 프로그램이 변수를 직접 메모리에서 읽을 수 있게 합니다. 일반 변수에 대해서는 컴파일러가 최적화를 수행하여 메모리의 변수 값이 레지스터에 저장되어 읽고 쓰는 속도를 빠르게 합니다.
restrict에 의해 restrict 조정된 포인터는 그가 가리키는 객체에 접근하는 유일한 방법입니다. 오직 C99 새로운 타입 제한자 restrict를 추가했습니다.