> 백엔드 개발 > C++ > C/C에서 단일 문자 숫자를 정수로 효율적으로 변환하려면 어떻게 해야 합니까?

C/C에서 단일 문자 숫자를 정수로 효율적으로 변환하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-12-10 11:20:12
원래의
240명이 탐색했습니다.

How Can I Efficiently Convert a Single Character Digit to an Integer in C/C  ?

단일 문자를 정수로 변환

문자로 저장된 숫자 데이터를 다룰 때는 정수로 변환하여 계산하는 것이 중요합니다. atoi()를 사용하면 문자열에서 변환할 수 있지만 불필요한 중간 단계가 필요합니다.

다행히도 48('0'의 경우)부터 57('의 경우)까지의 숫자 인코딩을 기반으로 하는 더 효율적인 방법이 있습니다. 9'). 이 인코딩은 ASCII 및 UTF-x를 포함한 다양한 인코딩 체계에 적용됩니다.

이 지식을 사용하여 숫자 문자에서 '0'(또는 48)을 빼서 정수 값을 얻을 수 있습니다.

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/C에서 단일 문자 숫자를 정수로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿