计算x的y次方的位数

设计一个函数,该函数接受两个正整数x、y,计算并返回x的y次方的位数
如果单纯的用最简单的方法,先算出x的y次方的值,再不断除以十求位数,对小数可行,但是对大数就会溢出(如28的28次)
请问有没有什么更好的方法

可以每乘一次x就除以10,直到这个数小于10,外层for循环内层while循环