请问c语言怎么取一个整数的前四位数?

这个整数的位数比四大,假如把每一位数字取出来,再取前四位数组合的话是不是过于繁琐了


int  dome1(int t){
    int a,b,c,d,e;
    d=t%10;//个位
    c=(t%100)/10;//十位
    b=(t/100)%10;//百位
    a=t/1000;//千位
    e=a+b+c+d;
    return e;
}
int dome2(int a,int b){
   int c,d,e;
   c=a%10*(1000);
   d=(10000)*((a%100)/10);
   e=(100000)*((a/100)%10);
   return b+c+d+e;
}
int dome3(int t){
    int a,b,c;
    a=t%10;//个位
    c=(t%100)/10;//十位
    b=(t/100)%10;//百位
    return a*a+b*b+c*c;
}

    int a,b,c,d,e;
    d=t%10;//个位
    c=(t%100)/10;//十位
    b=(t/100)%10;//百位
    a=t/1000;//千位

低四位么 &0x0f