자바 바 이 너 리 에 관 한 기초 지식
모든 것 에 규범 이 있 고 JAVA 하면 2 가지 규범,JAVA 언어 규범,JVM 규범 을 언급 합 니 다.JAVA 언어 규범 은 주로 JAVA 의 문법,변수,유형,문법 등 을 정의 하고 JVM 규범 은 주로 Class 파일 유형,운행 시 데이터,프레임 스 택,가상 기기 의 작 동,가상 기기 의 명령 집합 등 을 정의 합 니 다.
JAVA 8 가지 기본 데이터 형식:
차지 하 는 자리수
int
32bit
short
16bit
long
64bit
byte
8bit
char
16bit
float
32bit
double
64bit
boolean
1bit
비고:1 바이트=8 비트(1 byte=8bit)
정수 적 표시
패 치 를 사용 하면 어떤 다른 의미 도 0 을 표시 하지 않 을 수 있 습 니 다.
패 치 는 바 이 너 리 연산 에 잘 참여 할 수 있 고,패 치 와 기호 위 치 를 더 해 연산 에 참여 하면 훨씬 간단 하 다.
부동 소수점 표시
위의 그림 에서 우 리 는 Float 와 Double 이 모두 IEEE 754 를 지원 한 다 는 것 을 알 게 되 었 다.
우 리 는 float 로 설명 한다.
IEEE 745 단일 정밀도 부동 소수점 형식 은 모두 32 비트 로 세 개의 구성 필드 를 포함한다.23 비트 소수 f,8 비트 편향 지수 e,1 비트 기호 s.이 필드 를 32 자리 글자 에 연속 으로 저장 하고 인 코딩 합 니 다.그 중 0:22 비트 는 23 비트 의 소수 f 를 포함한다.23:30 위 는 8 비트 지수 e 를 포함한다.31 위 기호 s 포함.
하나의 실수 V 는 IEEE 754 기준 에서 V=(-1)s 를 사용 할 수 있다.×M×2E 의 형식 은 다음 과 같다.
지수 비트
소수 자리
1 위
8 위
23 위
예 를 들 어 IEEE 745 에 따라 1100001000000000000000000000000000000000000000000 의 단일 정밀도 부동 점 의 값 을 계산한다.
문제 풀이:
1
10000010
00100000000000000000000
기호 비트
지수
끝 수 는 지수 가 전부 0 이 아니 기 때문에 작은 숫자 에 1 을 부가 합 니 다.
1
10000010
1.00100000000000000000000
-1
2^(130-127)
(2^0 + 2^-3)
결론:-1*(2^0+2^-3)*2^(130-127)=-9
마찬가지 로 10 진 부동 소수점 0.1 의 바 이 너 리 형식 이 정확 한 지 검증 할 수 있 습 니 다.0.1 은 유한 한 바 이 너 리 로 표시 할 수 없 기 때문에 메모리 에 있 는 표 시 는 반올림(rounding)이후 의 결과 입 니 다.즉,0x3dcccd,10 진 은 0.10000001 이 고 오 차 는 0.0000001 입 니 다.이 로 인해 발생 했 습 니 다.
진 개념
우리 가 자주 사용 하 는 진 은 2 진법,8 진법,10 진법 과 16 진법 이 있 는데 10 진법 은 가장 주요 한 표현 형식 이다.
이 진 은 0 과 1 이다.8 진법 은 0-7 이다.10 진법 은 0-9 이다.16 진법 은 0-9+A-F(대소 문자 모두 가능)입 니 다.
비트 연산 자
비트 와(&)
두 분 다 1 이 고 결 과 는 1 입 니 다.
0&0=0;
0&1=0;
1&0=0;
1&1=1;
사용법:비트 단위 또는(|)
하나만 1 이면 결 과 는 1 이다.
0|0=0;
0|1=1;
1|0=1;
1|1=1;
용법:데이터 의 일부 위치 1 에 자주 사용 합 니 다.X 에 대응 하 는 1 의 위 치 를 찾 으 면 해당 수의 대응 위 치 는 1 이 고 나머지 위 치 는 0 이다.이 수 는 X 와 같 거나 X 의 일부 위 치 를 1 로 만 들 수 있 습 니 다.예 를 들 어 X=1010000 의 낮은 4 자리 1 을 X|0000 1111=1011111 로 얻 을 수 있다.
이 또는 연산(^)
*두 개의 해당 비트 가'이'(값 이 다 름)이면 이 비트 결 과 는 1 이 고 그렇지 않 으 면 0:*입 니 다.
0^0=0;
0^1=1;
1^0=1;
1^1=0;
사용법:한 이 진수 에 대해 비트 에 따라 반 을 취하 면 0 이 1 로 변 하고 1 이 0 으로 변 합 니 다.~1=0;~0=1;
왼쪽 이동 연산(<)
하나의 연산 대상 의 각 이 진 위 치 를 모두 왼쪽으로 몇 자리 옮 깁 니 다(왼쪽 의 이 진 을 버 리 고 오른쪽 에 0 을 보충 합 니 다)2<1=4:10<1=100=4
왼쪽 이동 시 버 리 는 높 은 자리 가 1 을 포함 하지 않 으 면 왼쪽 마다 한 자 리 를 옮 기 는 것 은 이 숫자 곱 하기 2 에 해당 합 니 다.-14(이 진:1111 0010)<2=(1100 1000)(고위 1 포함,규칙 에 부합 되 지 않 음)
오른쪽 이동 연산(>)
한 수의 각 바 이 너 리 를 모두 오른쪽으로 몇 자리 옮 기 고,양수 왼쪽 보 0,마이너스 왼쪽 보 1,오른쪽 버 립 니 다.조작 수 는 오른쪽 마다 한 자 리 를 옮 기 면 이 수 를 2 로 나 누 는 것 과 같다.
왼쪽 보 0 or 보 1 은 피 이동 수가 플러스 인지 마이너스 인지 에 달 려 있다.
예:4>>2=1
예:-14(1111 0010)>>2=-4(1111 1100)
기호 없 이 오른쪽 이동 연산(>>)
각 비트 가 오른쪽으로 지정 한 비트 입 니 다.오른쪽으로 이동 한 후 왼쪽 에 튀 어 나 온 자 리 를 0 으로 채 웁 니 다.오른쪽 자 리 를 옮 겨 버 림
각 비트 가 오른쪽으로 지정 한 비트 입 니 다.오른쪽으로 이동 한 후 왼쪽 에 튀 어 나 온 자 리 를 0 으로 채 웁 니 다.오른쪽 자 리 를 옮 겨 버 림
예:-14>>2
즉-14(1111 1111 1111 1111 1111 1111 1111 0010)>>2
=(0011 1111 1111 1111 1111 1111 1111 1100)
= 1073741820
설명:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.