thanks I figure it out, wasn't a homework sorry ;-)
I was trying to add numbers to time_t types and to change the time
without converting to tm structure.
Huh?
The standard only guarantees that time_t is an arithmetic type capable
of representing times.
If you're willing to assume that it represents times monotonically in
seconds, then adding, say, 60 seconds is trivial: t + 60. This
assumption will be valid for many systems, but of course it's strictly
non-portable.
If you're not willing to make this assumption, you pretty much need to
use "struct tm" if you want to manipulate times.
In neither case, as far as I can tell, does it make any sense to
emulate ordinary arithmetic by manually twiddling bits. If you think
it does, then either you're mistaken or I'm missing something about
the problem you're trying to solve.
You'll often get more useful help if you'll tell us *why* you're
trying to do something.
<METAPHOR>
If you ask us for a screwdriver with a really strong handle, we can
probably tell you how to get one. If you ask us for a screwdriver
with a really strong handle so you can drive nails with it, we can
tell you to put down the screwdriver and get a hammer.
</METAPHOR>