검수요청.png검수요청.png

"Short"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글
 
(다른 사용자 한 명의 중간 판 4개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''short'''는 자료형 중에서 [[int]], [[long]], [[long long]]정수형에 속하는 자료다.
+
'''short'''는 자료형 중에서 [[int]], [[long]], [[long long]] 정수형에 속하는 자료형이다.
  
 
==개요==
 
==개요==
[[C]]/[[C++]] 프로그래밍 언어에서 정수형 변수는 char와 int을 사용한다. char는 데이터 크기가 8비트이지만 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바이트, 16비트의 크기를 가진 정수형 자료형이다. 저장할 수 있는 값의 범위는 -32,768~32,767이다. [[C]]/[[C++]] 프로그래밍 언어에서 정수형 변수는 char와 int를 사용한다. char는 데이터 크기가 8비트(bit)지만 int는 [[중앙처리장치]](CPU)에 따라 16비트 또는 32비트 정수형이 된다. 보통 8비트 중앙처리장치는 int가 16비트를 많이 사용하지만, x86, [[ARM]] 등의 32비트 중앙처리장치는 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)로 0~65,535 크기는 다른 부호 없는 정수형인 unsigned int, unsigned long, unsigned long long보다도 역시 크기가 작다.<ref> (카아알) Karl Kyeongan, 〈[https://newmkka.tistory.com/69 C언어 기본자료형의 크기와 및 범위]〉, 《티스토리》, 2009-04-02 </ref>
+
short는 부호가 있는 정수형에서는 2바이트(16비트) -32,768~32,767로 다른 정수형인 int, long, long long에 비해서 크기가 가장 작다. 부호가 없는 정수형인 unsigned short는 2바이트(16비트)로 크기는 0~65,535이다. 다른 부호 없는 정수형인 unsigned int, unsigned long, unsigned long long보다도 역시 크기가 작다.<ref> (카아알) Karl Kyeongan, 〈[https://newmkka.tistory.com/69 C언어 기본자료형의 크기와 및 범위]〉, 《티스토리》, 2009-04-02 </ref>
  
 
==변수==
 
==변수==
int형과 마찮가지로 short (int) a;로 표현할 수 있다. 여기서 중요한 것은 초기화를 해야한다. 초기화 방법은 2가지가 있다.
+
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>
+
 
 +
변수를 초기화해야 하는 이유는 변수를 생성할 때 쓰레기 값을 가지기 때문이다. 쓰레기 값이란 우리가 생성한 변수 안에 의미 없는 수가 들어가 있는 것을 쓰레기 값이라고 한다. 쓰레기 값을 가지는 것은 지역변수를 선언할 때만 쓰레기 값을 가지고 전역변수로 선언하면 쓰레기 값 대신에 0을 가지게 된다.<ref> 나도!개발자가 되고싶어, 〈[https://dhkvmf88.tistory.com/4 (C언어) 변수]〉, 《티스토리》, 2017-06-02 </ref>
  
 
==C언어==
 
==C언어==
위에 나오는 표현방식은 C언어에서 쓰이는 것이며 다음과 같이 쓰인다.
+
; 예시
*예시
 
 
  #include <stdio.h>
 
  #include <stdio.h>
 
    
 
    
59번째 줄: 60번째 줄:
  
 
==C++==
 
==C++==
C++도 C언어와 같은 자료형 short를 쓰며 다음과 같이 나타낸다.
+
[[C++]]도 C언어와 같은 자료형 short를 쓰며 다음과 같이 나타낸다.
*예시
+
;예시
[[파일:Image.png]]
+
#include <iostream>
[[파일:Image 실행결과.png]]
+
*단 C에서는 %d로 나타내지만 C++은 %hd로 나타낸다.<ref> 공부하는 녹색이, 〈[https://imasoftwareengineer.tistory.com/48 (막 써본 C/C++ 강좌) 7. 자료형 살펴보기 - short형, int형, 오버플로우와 언더플로우]〉, 《네이버 블로그》, 2019-12-22 </ref>
+
using namespace std;
 +
int main()
 +
{
 +
    short  i = -3;
 +
    unsigned short u;
 +
 +
    cout << (u = i) << "\n";
 +
}
 +
// Output: 65533<ref> , 〈[https://docs.microsoft.com/ko-kr/cpp/cpp/standard-conversions?view=msvc-160 표준 변환]〉, 《마이크로소프트》, 2019-10-02 </ref>
  
 
==자바==
 
==자바==
자바에서 short는 [[byte]]다음으로 작은 자료형이다. short는 2바이트의 크기 즉 16 비트(bits)를 저장 할 수 있다. 16 비트에는 65,536개의 숫자를 저장 할 수 있다. 마찬가지로 이 자료형도 65,536을 둘로 나눠 32,768개의 음수와 32,768개의 0과 양수를 표현한다. 따라서 -32,768~32,767까지의 정수를 표현 할 수 있다. 다음보기를 보면 알수있다.
+
[[자바]]에서 short는 [[바이트]] 다음으로 작은 자료형이다. 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) {
83번째 줄: 93번째 줄:
 
* 코딩(CODING)/C언어(C Language), 〈[https://digiconfactory.tistory.com/entry/C%EC%96%B8%EC%96%B4-2-3-%EC%9E%90%EB%A3%8C%ED%98%95-short%ED%98%95%EA%B3%BC-int%ED%98%95-2%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%99%80-4%EB%B0%94%EC%9D%B4%ED%8A%B8 C언어 2 - 3 | 자료형 | short형과 int형| 2바이트와 4바이트]〉, 《티스토리》, 2020-08-16
 
* 코딩(CODING)/C언어(C Language), 〈[https://digiconfactory.tistory.com/entry/C%EC%96%B8%EC%96%B4-2-3-%EC%9E%90%EB%A3%8C%ED%98%95-short%ED%98%95%EA%B3%BC-int%ED%98%95-2%EB%B0%94%EC%9D%B4%ED%8A%B8%EC%99%80-4%EB%B0%94%EC%9D%B4%ED%8A%B8 C언어 2 - 3 | 자료형 | short형과 int형| 2바이트와 4바이트]〉, 《티스토리》, 2020-08-16
 
* 삐멜 소프트웨어 엔지니어, 〈[https://imasoftwareengineer.tistory.com/48 자바 변수와 자료형 (3) byte, short, int, long]〉, 《티스토리》, 2019-03-04
 
* 삐멜 소프트웨어 엔지니어, 〈[https://imasoftwareengineer.tistory.com/48 자바 변수와 자료형 (3) byte, short, int, long]〉, 《티스토리》, 2019-03-04
* 공부하는 녹색이, 〈[https://imasoftwareengineer.tistory.com/48 (막 써본 C/C++ 강좌) 7. 자료형 살펴보기 - short형, int형, 오버플로우와 언더플로우]〉, 《네이버 블로그》, 2019-12-22
+
* 〈[https://docs.microsoft.com/ko-kr/cpp/cpp/standard-conversions?view=msvc-160 표준 변환]〉, 《마이크로소프트》, 2019-10-02
  
 
==같이보기==
 
==같이보기==

2021년 9월 15일 (수) 15:44 기준 최신판

short는 자료형 중에서 int, long, long long 정수형에 속하는 자료형이다.

개요[편집]

short는 2바이트, 16비트의 크기를 가진 정수형 자료형이다. 저장할 수 있는 값의 범위는 -32,768~32,767이다. C/C++ 프로그래밍 언어에서 정수형 변수는 char와 int를 사용한다. char는 데이터 크기가 8비트(bit)지만 int는 중앙처리장치(CPU)에 따라 16비트 또는 32비트 정수형이 된다. 보통 8비트 중앙처리장치는 int가 16비트를 많이 사용하지만, x86, ARM 등의 32비트 중앙처리장치는 32비트 정수형 변수가 된다. int가 32비트인 CPU 컴파일러를 사용한다면, char의 8비트 정수형이지만 16비트 정수형이 없게 된다. 따라서 short를 사용하여 16비트 정수형을 지원한다.[1]

크기[편집]

short는 부호가 있는 정수형에서는 2바이트(16비트) -32,768~32,767로 다른 정수형인 int, long, long long에 비해서 크기가 가장 작다. 부호가 없는 정수형인 unsigned short는 2바이트(16비트)로 크기는 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언어[편집]

예시
#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는 바이트 다음으로 작은 자료형이다. 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]

각주[편집]

  1. short 정수형〉, 《위키백과》
  2. (카아알) Karl Kyeongan, 〈C언어 기본자료형의 크기와 및 범위〉, 《티스토리》, 2009-04-02
  3. 나도!개발자가 되고싶어, 〈(C언어) 변수〉, 《티스토리》, 2017-06-02
  4. 코딩(CODING)/C언어(C Language), 〈C언어 2 - 3 | 자료형 | short형과 int형| 2바이트와 4바이트〉, 《티스토리》, 2020-08-16
  5. , 〈표준 변환〉, 《마이크로소프트》, 2019-10-02
  6. 삐멜 소프트웨어 엔지니어, 〈자바 변수와 자료형 (3) byte, short, int, long〉, 《티스토리》, 2019-03-04

참고자료[편집]

같이보기[편집]


  검수요청.png검수요청.png 이 Short 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.