문자를 정수로 변환
질문:
어떻게 효율적으로 변환할 수 있나요? 단일 문자를 정수 값으로 변환하시겠습니까? 특히 숫자 문자열이 주어지면 계산에 사용하기 위해 각 숫자를 추출해야 합니다. atoi()를 사용하는 것보다 더 나은 접근 방식이 있습니까?
답변:
atoi()를 호출하기 전에 문자를 문자열로 변환하는 대신 숫자를 활용할 수 있습니다. 문자 인코딩의 숫자 표현. ASCII, UTF-x 등을 포함한 대부분의 인코딩에서 숫자의 문자 인코딩은 '0'이 48에 매핑되고 '9'가 57에 매핑되는 순차적 순서입니다.
이 지식을 통해 다음을 수행할 수 있습니다. 단순히 '0'(또는 48)에서 ASCII 값을 빼서 숫자 문자를 정수로 변환합니다. 예:
char c = '1'; int i = c - '0'; // i is now equal to 1, not '1'
이것은 다음과 동일합니다:
char c = '1'; int i = c - 48; // i is now equal to 1, not '1'
두 방법 모두 동일한 결과를 달성하지만 일반적으로 전자(c - '0')가 더 읽기 쉬운 것으로 간주됩니다. 단순합니다.
위 내용은 문자 숫자를 정수로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!