PHP 에는 정수 와 관련 된 조작 튜 토리 얼 이 있 습 니 다.

4091 단어 php긴 정수
머리말
PHP 에서 디지털 유형 은 int 와 float 두 가지 만 있 고 그들의 자릿수 는 시스템 에 달 려 있 으 며 uint 가 없 기 때문에 다른 시스템 과 통신 할 때 많은 불편 이 있 습 니 다.int 가 넘 치면 자동 으로 float 로 바 뀌 고 과학 계수 법 으로 표시 하 며 소수점 뒤에 15 자리 만 유지 하고 그 후의 데 이 터 는 반올림 된다.이것 은 연 결 된 데이터 조작 에 영향 을 줄 것 이다.예 를 들 어 진법 전환,연산 등 이 모두 잘못 될 것 이다.
PHP 에 대해 서 는:
int  : min~max:-922337203685475808~922337236854775807(~92 억)
float : min~max: -1.7976931348623E+308 ~ 1.7976931348623E+308(~1.8E308)
이 럴 때 우 리 는 문자열 형식 으로 관련 처 리 를 고려 해 야 한다.만약 에 수학 계산 을 해 야 한다 면 BC Math(임 의 정밀도 수학)Functions 를 사용 해 야 한다.PHP 매 뉴 얼 에서 스스로 찾 아 볼 수 있다http://php.net/manual/zh/function.bcmod.php
여기 서 긴 정 수 를 2 진법 으로 바 꾸 는 간단 한 예 를 들 어 2^128 을 2 진법 으로 바 꿉 니 다.phop 의 진법 변환 함수 도 최대 치 제한 이 있 기 때문에 여기 서 짧 은 나눗셈 을 사용 하여 2 진법 으로 바 꾸 고 원시 함수 pow 로 멱 회 를 구 합 니 다.

그 출력 결 과 는 다음 과 같 습 니 다.정밀도 가 부족 하고 바 이 너 리 가 잘못된 것 이 분명 합 니 다.

정확 한 표현:
  
출력 결과:

총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기