본문 바로가기
프로그래밍 언어

타입 지정시 연산 속도

by do_ng 2021. 2. 26.

요구사항) 

1. -10,000 ≤ A, B ≤ 10,000 (제한범위) 

2. 두수를 입력받아서 A와B의 합을 출력하는 코드 작성 

 

		Scanner sc = new Scanner(System.in);
		short a = sc.nextShort();
		short b = sc.nextShort();
        System.out.println(a+b);

메모리 공간을 가지고 본다면 short 타입을 쓰는게 좋을수도 있지만 

32bit의 CPU를 쓴다고 하면 워드가 4byte 이므로 short(2byte),byte(1byte)형 변수를 사용한다고 하면 

CPU가 한번에 처리 할 수 있는 데이터 크기에 맞춰서 구조를 바꾸(맞는 사실인가?)기 때문에 이러한 부수적인 시간이 걸리게 되고 int형(4byte) 변수를 사용해서 연산을 한것보다 속도면에서는 느리다. 

 

메모리 공간을 아낄수 있어도 연산속도에서는 차이가 난다는 것을 알 수 있다.

 

short 범위를 벗어난 계산으로 int형으로 바꿔서 출려됨

		short a = 3000;
		short b = 30000;	
		System.out.print(a+b); // 33000(short 범위를 벗어남)

 

 

워드 : CPU가 한번에 처리할 수 있는 데이터의 크기 
32비트 CPU -> 4byte 
64비트 CPU -> 8byte

 

 

참고 : chanywa.com/44

'프로그래밍 언어' 카테고리의 다른 글

람다식  (0) 2021.03.07
쓰레드  (0) 2021.03.04
자바 스터디(예외)  (0) 2021.02.24
디버거 사용하기  (0) 2021.02.21
자바 2주차 스터디  (0) 2021.02.18