SRC: число - значение последних N цифр исходного
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 26.08.02 14:05
Оценка:
В общем, может оно и без надобности, но все-же:

Допустим, вам надо получить значение последних N цифр числа (например, из числа 1975 получить 75 (2 цифры), из 2048 получить 8 (1 цифра)). В общем, набросал такую функцию (работой с григорианским календарем навеяло, а именно просчетом дня недели по дате):


//---------------------------------------------------------------------------
int GetLastNDigitsValue(int Value, unsigned int NumOfDigits)
{
 int iRightVal = 10;
 for(int i=1;i<NumOfDigits;i++) iRightVal *= 10; // вычисляем кол-во разрядов

 return (Value % iRightVal ); // ну а здесь все просто :-)
}
//---------------------------------------------------------------------------


И примерчик использования:


int main(int argc, char **argv)
{

for(int i=1;i<=10;i++)
    printf("%i\n",GetLastNDigitsValue(-1234567890,i));

printf("\n");    

for(int i=1;i<=10;i++)
    printf("%i\n",GetLastNDigitsValue(1234567890,i));

}


Как обычно, замечания/предложения — сюда.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.