C'nin ilk sürümlerinde işaretsiz tamsayılar yoktu. (Bazı programcılar işaretsiz aritmetik gerektiğinde işaretçiler kullanırlardı.) Hangisinin ilk geldiğini, time()
işlevi veya işaretsiz türleri bilmiyorum , ancak imzasız türler evrensel olarak mevcut olmadan önce temsilciliğin kurulduğundan şüpheleniyorum. Ve 2038 gelecekte muhtemelen endişelenmeye değmeyecek kadar uzundu. Birçok insanın Unix'in hala var olacağını düşündüğünden şüpheliyim.
Bir imzanın bir başka avantajı da time_t
onu 64 bit'e (ki bazı sistemlerde zaten oluyor) genişletmek, 1970'den önceki zamanları temsil etme yeteneğini kaybetmeden, geleceğe birkaç yüz milyar yıl boyunca süre tanımanıza izin vermesidir. (Bu yüzden, 32-bit işaretsiz time_t
, 64 bite geçiş yapmak için yeterli zamanımız var.)