Accueil

Orientation générale

Barre de recherche

DicoNombre

DicoMot Math

DicoCulture

Atlas des maths

Rubriques

Index alphabétique

Nouveautés

Actualités

Références

Édition du: 12/06/2026

M'écrire

Brèves de Maths

 

DicoNombre

Débutant 

Glossaire

Types de nombres

Nombres géométriques

Nom des nombres

Écriture des nombres

Table des facteurs

Nombres et anglais

Langues

Dictionnaire des Nombres

1 / 10 / 50 / 100 / 500  / 1000 / 1500 / 1900 / 2000 / 2016 / 2017 / 2018 / 2019 / 2020 / 2025 / 2026 / 2027 / 2028 / 2029

2038

2031 à 2099 / 3000 / 5000 / 10 000 / 20 000 / 50 000 / 100 000 / 106 / 109 / 10100 Autres

2030 / 2031 / 032 / 2033 / 2034 / 2035 / 2036 / 2037 / 2038 / 2039 / 2040

 Faites un double-clic pour un retour en haut de page

 

 

 

Carte d'identité du nombre

 

 

2,038 103

 

 

Voir Orthographe des nombres /  Nombres et langues

Facteurs

Diviseurs

1, 2, 1019, 2038

Quantité

4

Somme

3060

S - N

1022

Binaire

1111 111 0110

Romain

MM XXX VIII

 Suite en propriétés arithmétiques

 

 

*      Canyon

*      Composé

*      Congruent

*      Déficient

*      Hoax

*      Impremier  (unprimeable)

*      Semi-premier

*      Smith

 

Voir Nom des nombres

Nombres géométriques

 

 

 

 Le bug de l'an 2038

Problème de débordement des compteurs de temps informatiques

 

1. Comment les ordinateurs comptent le temps

Les systèmes Unix et de nombreux systèmes dérivés représentent le temps par un entier appelé time_t.

Dans sa forme historique, time_t est un entier signé sur 32 bits qui compte le nombre de secondes écoulées depuis le 1ᵉʳ janvier 1970 à 00:00:00 UTC (l’« epoch Unix »).

 

Un entier signé sur 32 bits peut représenter des valeurs de -231 à 231,
soit de -2 147 483 648 à 2 147 483 647.


Appliqué au temps, cela signifie que la dernière date représentable est 2 147 483 647 secondes après l’epoch, soit le
19 janvier 2038 à 03:14:07 UTC.

 

2. Le mécanisme du bug : débordement de l’entier

À 03:14:08 UTC le 19 janvier 2038, le compteur doit être incrémenté d’une seconde.
Cette incrémentation dépasse la valeur maximale de l’entier signé 32 bits et provoque un débordement (overflow).

*       La valeur passe de 2,147,483,647 à -2,147,483,648.

*       Interprétée comme temps Unix, cette valeur correspond à 2 147 483 648 secondes avant 1970, soit le 13 décembre 1901 à 20:45:52 UTC.

 

Les fonctions de date (localtime, gmtime, mktime, etc.) reçoivent alors une valeur négative et calculent une date située au début du XXᵉ siècle.
Le système continue ensuite à compter vers zéro, puis vers les valeurs positives, mais avec une chronologie totalement incohérente.

 

 

3. Pourquoi certains systèmes sont vulnérables

Le bug concerne tous les systèmes qui :

*       utilisent le temps Unix (secondes depuis 1970),

*       stockent ce temps dans un entier signé 32 bits,

*       s’appuient sur ce temps pour des calculs ou des décisions.

Les systèmes les plus exposés sont :

*       Systèmes embarqués (routeurs, automates industriels, équipements réseau, dispositifs médicaux, satellites) qui fonctionnent longtemps sans mise à jour.

*       Logiciels anciens ou bibliothèques non mises à jour qui utilisent encore time_t en 32 bits.

*       Bases de données ou formats de fichiers qui stockent des dates futures en 32 bits.

 

Les systèmes modernes migrent progressivement vers un time_t sur 64 bits, ce qui repousse le débordement à environ 292 milliards d’années après 1970.

 

4. Conséquences possibles sur nos appareils

4.1. Erreurs de date et de journalisation

*       Les journaux (logs) peuvent afficher des dates en 1901 au lieu de 2038.

*       Les systèmes de surveillance, d’audit ou de traçabilité perdent la cohérence chronologique.

*       Les comparaisons de dates (avant/après) deviennent fausses, ce qui peut perturber des algorithmes de sécurité ou de contrôle.

4.2. Dysfonctionnements applicatifs

*       Les tâches planifiées (cron, timers, alarmes) peuvent être déclenchées au mauvais moment ou ne plus se déclencher.

*       Les certificats, licences ou abonnements basés sur des dates futures peuvent être considérés comme expirés ou non valides.

*       Les calculs de durée (temps écoulé, délais, timeouts) peuvent produire des valeurs négatives ou aberrantes.

4.3. Pannes dans les systèmes critiques

Dans les systèmes embarqués longue durée (satellites, infrastructures industrielles, transports, énergie), un bug de date peut :

*       provoquer des arrêts intempestifs, des redémarrages ou des crashs si le logiciel ne gère pas les dates négatives,

*       corrompre des données (fichiers, bases) en enregistrant des horodatages incohérents,

*       perturber des protocoles qui reposent sur la synchronisation temporelle (NTP, sécurité, réplication).

 

5. Stratégies de correction et d’atténuation

5.1. Migration vers un temps 64 bits

La solution de fond consiste à :

*       utiliser un time_t sur 64 bits dans le noyau, les bibliothèques système et les applications,

*       adapter les formats de stockage (bases de données, fichiers) pour accepter des dates 64 bits.

Cette migration est en cours dans la plupart des systèmes d’exploitation modernes (Linux, BSD, RTOS récents).

5.2. Mise à jour des systèmes embarqués

Pour les systèmes embarqués :

*       mise à jour du firmware et du RTOS pour supporter le temps 64 bits,

*       vérification des bibliothèques (time.h, fonctions de date) et des protocoles,

*       tests de non‑régression sur les fonctions qui utilisent des dates futures (planification, sécurité, logs).

5.3. Mesures temporaires

Dans les systèmes où la migration complète est difficile :

*       limiter l’usage de dates au‑delà de 2038,

*       utiliser des représentations décalées (offsets par rapport à une date plus récente),

*       valider systématiquement les dates entrantes et sortantes pour détecter les valeurs incohérentes.

 

6. Synthèse

Le bug de l’an 2038 est un débordement d’entier signé 32 bits utilisé pour représenter le temps Unix.
À partir du 19 janvier 2038, certains systèmes peuvent basculer brutalement sur des dates en 1901, entraînant des erreurs de journalisation, des dysfonctionnements applicatifs et des pannes dans des systèmes embarqués critiques.
La correction passe par la généralisation du temps 64 bits, la mise à jour des systèmes et la vérification des logiciels qui manipulent des dates futures.

 

Anglais: The year 2038 problem (also known as Y2038, Y2K38, Y2K38 superbug, or the Epochalypse)

 

 

Chiffres et Numération

2 038 – (2 + 0 + 3 + 8)

= 2025 = 45²

*         Devient carré en lui retirant la somme de ses chiffres.

 

Addition

2 038 = 675 + 676 + 677

*         Cinq fois somme de nombres consécutifs >>>

 

 

Multiplication, division

2 038 = 2 × 1019

2 + 0 + 3 + 8 = 2 + 1 + 0 + 1 + 9

*         Nombre de Smith.

 

 

 

         Identité détaillée

 

Voir Diviseurs,  Quantité, Somme, Fonctions arithmétiques

 

 

Numération: base, [chiffres]

Repdigit (Brésilien)

=== Conversion de 2038 ===

------------------------------

   2 | 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0

   3 | 2, 2, 1, 0, 1, 1, 1

   4 | 1, 3, 3, 3, 1, 2

   5 | 3, 1, 1, 2, 3

   6 | 1, 3, 2, 3, 4

   7 | 5, 6, 4, 1

   8 | 3, 7, 6, 6

   9 | 2, 7, 1, 4

  10 | 2, 0, 3, 8

  11 | 1, 5, 9, 3

  12 | 1, 2, 1, 10

  13 | 12, 0, 10

  14 | 10, 5, 8

  15 | 9, 0, 13

  16 | 7, 15, 6

  17 | 7, 0, 15

  18 | 6, 5, 4

  19 | 5, 12, 5

  20 | 5, 1, 18

  21 | 4, 13, 1

  22 | 4, 4, 14

  23 | 3, 19, 14

  24 | 3, 12, 22

  25 | 3, 6, 13

  26 | 3, 0, 10

  27 | 2, 21, 13

  28 | 2, 16, 22

  29 | 2, 12, 8

  30 | 2, 7, 28

  31 | 2, 3, 23

  32 | 1, 31, 22

  60 | 33, 58

=== Repdigits ===

  base 1018 → 2, 2

  base 2037 → 1, 1

 

=== Pannumérique (b > 3) ===

  base  4 → 1, 3, 3, 3, 1, 2

 

=== Consécutif croissant ===

  base 96 → 21, 22

  base 290 → 7, 8

  base 678 → 3, 4

  base 2036 → 1, 2

 

=== Consécutif décroissant  ===

  base 18 → 6, 5, 4

  base 2038 → 1, 0

 

=== Palindromes  ===

  base 19 → 5, 12, 5

  base 1018 → 2, 2

  base 2037 → 1, 1

Voir Bases / Brésiliens

 

 

Haut de page (ou double-clic)

 

 

 

Retour

*      Nombre 2030

Suite

*      Nombres de 2031 à 2099

*      Nombres de 2100 à 2299

Livre

*       Epsilon – Le bug de l'an 2038 – n°57 – mars 2026

Sites

*      Numbers Aplenty 2038

*      Bug de l'an 2028 – Wikipédia

Cette page

http://diconombre.fr/NombDico/N1000/N2038.htm