byte 형식 데이터 범위 분석

자바 의 byte 형식의 데이터 범 위 는 - 128 에서 127 까지 입 니 다. 왜 - 128 에서 128 이 아 닌 지 계속 생각 하고 있 습 니 다.오늘 이 문 제 를 분석 해 보 았 다.우선 우 리 는 한 가지 일 을 알 아야 한다. 그것 이 바로 연산 규칙 이다.
# \ # # \ # # \ # # \ # # \ # # \ # # \ # # \ # # \ \ # # # \ \ # # # \ \ # # # \ # # # \ # # # \ # # \ # # # \ # # \ # # # \ # # # \ # # # \ # # # \ # # # \ \ # # # \ # # # \ # # # \ # # # # # # \ # # # \ # # # # \ # # # # \ # # # \ # # # # \ # # # \ # # # \ \ # # \ # # # # \ \ # # # # \ \ \ # # # # # \ \ \ \ # # # # # \ \ # # # \ # # # # # # # \ \ \ \ # # # # # # \ # # # # # # # \ \ \ \ \ # # # # 양수 의 최고 위 치 는 모두 0 이 고, 양수 의 값 은 이 진 이 표시 하 는 값 이다.                                      #### ####음수 의 최고 위 치 는 모두 1 이 고 음수 의 수 치 는 반 을 취한 후에 1 을 더 한 후에 음 호 를 더 해서 얻 는 것 이다.         #### #######################################################################
 
우 리 는 8 비트 의 바 이 너 리 로 이 규칙 을 설명 한다. 예 를 들 어 0000001 이다.최고 위 는 0 을 정수 로 하면 십 진법 의 1 을 나타 낸다.그리고 예 를 들 어 10000001. 최고 위 는 1 이 마이너스 이 고 값 은 얼마 입 니까?역효과  받다  011111111, 그러면 값 은 - 127 입 니 다.
 
이 연산 규칙 을 이해 하고 우 리 는 본 격 적 으로 byte 를 말 하기 시 작 했 습 니 다. byte 는 마침 8 자리 의 바 이 너 리 입 니 다.short 는 16 비트 int 는 32 비트 롱 은 64 비트.
이해 하기 어렵 지 않 습 니 다. byte 의 최대 정 수 는 01111111 (최고 위 는 0 이 어야 합 니 다), 즉 127 입 니 다.그럼 byte 의 최소 마이너스 가  11111111 이 죠?이렇게 생각 하 는 것 은 완전히 틀 렸 다.11111111 이 이 진수 가 얼마나 표시 되 는 지 봅 시다.위의 제시 에 의 하면 우 리 는 이것 이 마이너스 라 는 것 을 안다.그것 의 값 은 먼저 취하 고 반대로 1 을 더 하 는 것 이다.
11111111 취 반 획득: 0000000, 더하기 1 은 0000001.마지막 에 받 은 값 이 - 1 이 야. 이게 제일 큰 마이너스 야.그래서 가장 작은 마이너스 가 10000000 이 아 닐 까 생각 했 죠?계산 해 보 겠 습 니 다.
127 은 011111111.  그런데 - 128 은 10000000. ,이상 한 일이 눈 에 띄 다.이 두 개의 이 진 수 를 자세히 살 펴 보면 전자 가 1 을 더 하면 후 자 를 얻 을 수 있 습 니까?네.작은 프로그램 을 만들어 서 실험 해 볼 수 있다.
byte a = 127;
a+=1;
System.out.println(a);

결 과 는 딱 - 128 입 니 다. 이 를 통 해 알 수 있 듯 이 바 이 너 리 는 000000 에서 01111111 에서 10000000 에서 11111111 까지 입 니 다.                           십 진법       0          도착 하 다    127      도착 하 다    -128     도착 - 1
이제 다 알 겠 지..

좋은 웹페이지 즐겨찾기