java中如何获得一个整数的最高位数

:(
problem:
怎样获取证书的最后一位数?怎样获得整数的第一位数?也就是说,若n为1104,怎样找到第一位数为1而最后一位数为4呢?不要将整数转换为字符串。 提示:%,math.log。

----摘自《 BigJava》

对于math.log研究了好久。还是做不出来。郁闷啊。望各高手鼎力相助。谢谢

[code="java"]
int a = 1104;
// 最后一位
System.out.println(a % 10);

    int m = 1;
    for (int i = 0; i < (int) Math.log10(a); i++) {
        m *= 10;
    }
    // 第一位
    System.out.println(a / m);

[/code]