요구사항)
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 |