English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++프로그래밍에서타입 접두사기본데이터 타입의 의미.
C++ 다음에 char, int 및 double 데이터 타입 앞에 접두사를 배치합니다. 접두사는 기본 타입의 의미를 변경하여 다양한 상황에 더 잘 맞출 수 있도록 합니다.
데이터 타입 접두사를 나열합니다:
signed
unsigned
long
short
조건자 signed, unsigned, long 및 short 정수형에 적용될 수 있습니다.signed 및 unsigned 문자형에 적용될 수 있습니다.long 이진 정수형에 적용될 수 있습니다.
조건자 signed 및 unsigned 그리고 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 int | 4 바이트 | 정수에 사용됩니다(int와 동일) |
unsigned int | 4 바이트 | 비정수만 저장할 수 있습니다 |
short | 2 바이트 | 작은 정수에 사용됩니다(범위-32768까지32767) |
long | 최소4바이트 | 큰 정수에 사용됩니다(long int와 동일) |
unsigned long | 4 바이트 | 큰 양수나 0(unsigned long int와 동일)에 사용됩니다 |
long long | 8 바이트 | 매우 큰 정수에 사용됩니다(long long int와 동일) |
unsigned long long | 8 바이트 | 매우 큰 양수나 0(unsigned long long int와 동일)에 사용됩니다 |
long double | 8바이트 | 큰 부동소수점 수에 사용됩니다 |
signed char | 1 바이트 | 문자에 사용됩니다(범위를 보장-127까지입니다127) |
unsigned char | 1 바이트 | 문자에 사용됩니다(범위0에서255) |
short의작은 정수(범위−32,767까지+32,767)입니다.
예를 들어
// 작은 정수 short a = 12345;
여기서 a는 short 정수 변수입니다.
주의할 것입니다: short는 short int와 동일합니다.
만약 큰 숫자를 저장해야 한다면큰 정수(범위-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 타입修饰자는 int와 함께 사용할 수 있습니다.
예를 들어
// long long int long long num = 12345678;
有符号(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를 대신 사용해야 합니다. 원시 문자는 문자 값 저장에만 사용해야 합니다.
타입 제한자는 변수에 대한 추가 정보를 제공합니다.
제한자 | 의미 |
---|---|
const | const 타입의 객체는 프로그램 실행 중에 수정되거나 변경되지 않습니다. |
volatile | 조건자 volatile 컴파일러가 volatile 선언된 변수를 최적화하지 않도록 알려주어 프로그램이 변수를 직접 메모리에서 읽을 수 있게 합니다. 일반 변수에 대해서는 컴파일러가 최적화를 수행하여 메모리의 변수 값이 레지스터에 저장되어 읽고 쓰는 속도를 빠르게 합니다. |
restrict | 에 의해 restrict 조정된 포인터는 그가 가리키는 객체에 접근하는 유일한 방법입니다. 오직 C99 새로운 타입 제한자 restrict를 추가했습니다. |