"Short"의 두 판 사이의 차이
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | [[C]]/[[C++]] 프로그래밍 언어에서 정수형 변수는 char와 | + | [[C]]/[[C++]] 프로그래밍 언어에서 정수형 변수는 char와 int를 사용한다. char는 데이터 크기가 8비트(bit)지만 int는 [[CPU]]에 따라 16비트 또는 32비트 정수형이 된다. 보통 8비트 CPU는 int가 16비트를 많이 사용하지만, x86, [[ARM]] 등의 32비트 CPU는 32비트 정수형 변수가 된다. int가 32비트인 CPU 컴파일러를 사용한다면, char의 8비트 정수형이지만 16비트 정수형이 없게 된다. 따라서 short를 사용하여 16비트 정수형을 지원한다.<ref> 〈[https://ko.wikipedia.org/wiki/Short_%EC%A0%95%EC%88%98%ED%98%95 short 정수형]〉, 《위키백과》 </ref> |
==크기== | ==크기== | ||
− | short는 부호가 있는 정수형에서는 2 Bytes(16bit)-32,768~32,767로 다른 정수형인 int, long, long long에 비해서 크기가 가장 작고 부호가 없는 정수형인 [[unsigned]] | + | short는 부호가 있는 정수형에서는 2 Bytes(16bit)-32,768~32,767로 다른 정수형인 int, long, long long에 비해서 크기가 가장 작고 부호가 없는 정수형인 [[unsigned]] short는 2 Bytes(16bit)로 0~65,535 크기는 다른 부호 없는 정수형인 unsigned int, unsigned long, unsigned long long보다도 역시 크기가 작다.<ref> (카아알) Karl Kyeongan, 〈[https://newmkka.tistory.com/69 C언어 기본자료형의 크기와 및 범위]〉, 《티스토리》, 2009-04-02 </ref> |
==변수== | ==변수== | ||
− | int형과 | + | int형과 마찬가지로 short (int) a; 로 표현할 수 있다. 여기서 중요한 것은 초기화를 해야 한다. 초기화 방법은 2가지가 있다. |
short total = 2; 또는 | short total = 2; 또는 | ||
short total; | short total; | ||
total = 2; | total = 2; | ||
− | 등의 방법이 있으며 변수를 | + | 등의 방법이 있으며 변수를 초기화시켜줘야 하는 이유는 바로 변수를 생성할 때 쓰레기 값을 가지기 때문이다. 쓰레기 값이란 우리가 생성한 변수 안에 의미 없는 수가 들어가 있는 것을 쓰레기 값이라고하며, 쓰레기 값을 가지는 것은 지연변수를 선언할 때만 쓰레기 값을 가지고 전역변수로 선언하면 쓰레기값 대신에 0을 가지게 된다.<ref> 나도!개발자가 되고싶어, 〈[https://dhkvmf88.tistory.com/4 (C언어) 변수]〉, 《티스토리》, 2017-06-02 </ref> |
==C언어== | ==C언어== | ||
74번째 줄: | 74번째 줄: | ||
==자바== | ==자바== | ||
− | 자바에서 short는 [[ | + | 자바에서 short는 [[바이트]](byte)다음으로 작은 자료형이다. short는 2바이트의 크기 즉 16비트를 저장 할 수 있다. 16 비트에는 65,536개의 숫자를 저장 할 수 있다. 마찬가지로 이 자료형도 65,536을 둘로 나눠 32,768개의 음수와 32,768개의 0과 양수를 표현한다. 따라서 -32,768~32,767까지의 정수를 표현 할 수 있다. 다음 보기를 보면 알 수 있다. |
public class Main { | public class Main { | ||
public static void main(String[] args) { | public static void main(String[] args) { |
2021년 8월 26일 (목) 15:24 판
short는 자료형 중에서 int, long, long long정수형에 속하는 자료다.
개요
C/C++ 프로그래밍 언어에서 정수형 변수는 char와 int를 사용한다. char는 데이터 크기가 8비트(bit)지만 int는 CPU에 따라 16비트 또는 32비트 정수형이 된다. 보통 8비트 CPU는 int가 16비트를 많이 사용하지만, x86, ARM 등의 32비트 CPU는 32비트 정수형 변수가 된다. int가 32비트인 CPU 컴파일러를 사용한다면, char의 8비트 정수형이지만 16비트 정수형이 없게 된다. 따라서 short를 사용하여 16비트 정수형을 지원한다.[1]
크기
short는 부호가 있는 정수형에서는 2 Bytes(16bit)-32,768~32,767로 다른 정수형인 int, long, long long에 비해서 크기가 가장 작고 부호가 없는 정수형인 unsigned short는 2 Bytes(16bit)로 0~65,535 크기는 다른 부호 없는 정수형인 unsigned int, unsigned long, unsigned long long보다도 역시 크기가 작다.[2]
변수
int형과 마찬가지로 short (int) a; 로 표현할 수 있다. 여기서 중요한 것은 초기화를 해야 한다. 초기화 방법은 2가지가 있다.
short total = 2; 또는 short total; total = 2;
등의 방법이 있으며 변수를 초기화시켜줘야 하는 이유는 바로 변수를 생성할 때 쓰레기 값을 가지기 때문이다. 쓰레기 값이란 우리가 생성한 변수 안에 의미 없는 수가 들어가 있는 것을 쓰레기 값이라고하며, 쓰레기 값을 가지는 것은 지연변수를 선언할 때만 쓰레기 값을 가지고 전역변수로 선언하면 쓰레기값 대신에 0을 가지게 된다.[3]
C언어
위에 나오는 표현방식은 C언어에서 쓰이는 것이며 다음과 같이 쓰인다.
- 예시
#include <stdio.h> int main(void){ signed short int a1; signed short int a2; unsigned short int b1; unsigned short int b2; short int c1; short int c2; a1 = -32768; a2 = 32767; b1 = 0; b2 = 65535; c1 = -32768; c2 = 32767; printf("%7d\n",a1); printf("%7d\n",a2); printf("\n"); printf("%7d\n",b1); printf("%7d\n",b2); printf("\n"); printf("%7d\n",c1); printf("%7d\n",c2); return 0; } 실행결과 -32768 32767 0 65535 -32768 32767[4]
C++
C++도 C언어와 같은 자료형 short를 쓰며 다음과 같이 나타낸다.
- 예시
#include <iostream> using namespace std; int main() { short i = -3; unsigned short u; cout << (u = i) << "\n"; } // Output: 65533[5]
자바
자바에서 short는 바이트(byte)다음으로 작은 자료형이다. short는 2바이트의 크기 즉 16비트를 저장 할 수 있다. 16 비트에는 65,536개의 숫자를 저장 할 수 있다. 마찬가지로 이 자료형도 65,536을 둘로 나눠 32,768개의 음수와 32,768개의 0과 양수를 표현한다. 따라서 -32,768~32,767까지의 정수를 표현 할 수 있다. 다음 보기를 보면 알 수 있다.
public class Main { public static void main(String[] args) { short val = 200; System.out.println(val); } } 실행 결과 : 200[6]
각주
- ↑ 〈short 정수형〉, 《위키백과》
- ↑ (카아알) Karl Kyeongan, 〈C언어 기본자료형의 크기와 및 범위〉, 《티스토리》, 2009-04-02
- ↑ 나도!개발자가 되고싶어, 〈(C언어) 변수〉, 《티스토리》, 2017-06-02
- ↑ 코딩(CODING)/C언어(C Language), 〈C언어 2 - 3 | 자료형 | short형과 int형| 2바이트와 4바이트〉, 《티스토리》, 2020-08-16
- ↑ , 〈표준 변환〉, 《마이크로소프트》, 2019-10-02
- ↑ 삐멜 소프트웨어 엔지니어, 〈자바 변수와 자료형 (3) byte, short, int, long〉, 《티스토리》, 2019-03-04
참고자료
- (카아알) Karl Kyeongan, 〈C언어 기본자료형의 크기와 및 범위〉, 《티스토리》, 2009-04-02
- 〈short 정수형〉, 《위키백과》
- 나도!개발자가 되고싶어, 〈(C언어) 변수〉, 《티스토리》, 2017-06-02
- 코딩(CODING)/C언어(C Language), 〈C언어 2 - 3 | 자료형 | short형과 int형| 2바이트와 4바이트〉, 《티스토리》, 2020-08-16
- 삐멜 소프트웨어 엔지니어, 〈자바 변수와 자료형 (3) byte, short, int, long〉, 《티스토리》, 2019-03-04
- 〈표준 변환〉, 《마이크로소프트》, 2019-10-02
같이보기