본문 바로가기

C++/잡기술

int 자릿수 log10을 이용해 구하기

int형의 자릿수를 세는 방법은,

1. 문자열로 바꿔서 길이를 측정
2. 10으로 나눠가며 자릿수를 직접 세는 방법

정도가 일반적일 것이다.

여기서 설명하려는 방법은 log10을 이용해 자릿수를 구하는 방법이다.

 

필요헤더
#include <math.h>

 

1
2
int num = 77778899;
int len = (int)log10(num) + 1;
cs

len의 값은 8이 나온다.

단, 0이나 음수의 자릿수는 구하지 못한다.

 

1
2
double num = 789.1234;
int len = (int)log10(num) + 1;
cs

len의 값은 3이 나온다.

이와 같이 소수의 자릿수도 셀 수 있다.

단, 0.xxx나 음수의 자릿수는 구하지 못한다.