IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Une explication nécessaire : 16 bits, 32 bits, etc.


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2003
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Une explication nécessaire : 16 bits, 32 bits, etc.
    salut,
    je voudrais savoir ce que signifie théoriquement et concretement lorsqu'on dit qu'un programme est d'une version 16 bits, 32 bits, 64 bits, etc.
    Merci pour tout

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 852
    Points : 11 285
    Points
    11 285
    Billets dans le blog
    6
    Par défaut
    je pense que cela tient au jeu d'instructions du processeur d'une part (mais compatibilité ascendante), mais que l'influence la plus grande est liée au mode d'adressage de la mémoire, donc à sa pagination éventuelle.

    à vérifier !
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Non en fait c'est surtout et essentiellement la taille des entiers de base. En Pascal/Delphi, il s'agit du type Integer. Sous Delphi 1 (16 bits), ce type a une taille de 16 bits - 2 octets - donc peut contenir des valeurs de -65536 à 65535. Sous Delphi 2+ (32 bits), ce type fait 4 octets. En 64 bits, il en fait 8.

    Les entiers de base étant le type le mieux géré par le processeur. On parle donc de processeurs 16 bits, 32 bits ou 64 bits.

    Mais en effet cela a des retombées immédiates sur les paginations mémoire et ce genre de chose. Par exemple, en 16 bits, un tableau ne peut excéder les 65535 octets.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    version 16 bits, 32 bits, 64 bits
    A la base, il s'agit de la taille du bus mémoire.
    C'est-à-dire du nombre de bits que le processeur peut charger en faisant un seul adressage mémoire.

    Les programmes sont dits 16, 32 ou 64 bits loorsque les compilateurs exploitent cette largeur de bus pour optimiser les accès, avec les conséquences exposées par sjrd.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Citation Envoyé par Graffito
    Bonjour,


    A la base, il s'agit de la taille du bus mémoire.
    C'est-à-dire du nombre de bits que le processeur peut charger en faisant un seul adressage mémoire.

    Les programmes sont dits 16, 32 ou 64 bits loorsque les compilateurs exploitent cette largeur de bus pour optimiser les accès, avec les conséquences exposées par sjrd.
    Ce n'est pas plutot la taille des registres du processeur ( qui n'a pas toujours été égal à la largeur du bus) ?
    Développeur écolo, je suis pour le développement durable.

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    Ce n'est pas plutot la taille des registres du processeur ( qui n'a pas toujours été égal à la largeur du bus) ?
    Exact, en 1985, l'intel 8088 (bus 8 bits) utilisait un jeu d'instruction 16 bits, celui du 8086 (bus 16bits).

    Celà dit, il existe des instructions fonctionnant sur des paires de registres.
    Exemple : addition 16bits sur processeurs 8 bits.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Citation Envoyé par sjrd
    Sous Delphi 1 (16 bits), ce type a une taille de 16 bits - 2 octets - donc peut contenir des valeurs de -65536 à 65535
    Juste une petite chose, 16 bits, c'est
    soit -32767 à 32768 (entier signé)
    soit 0 à 65535 (entier non signé)

    mais pas -65535 à +65535

    sinon +1 pour tout
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  8. #8
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    En fait c'est le contraire: -32768 à 32767
    Développeur écolo, je suis pour le développement durable.

  9. #9
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 717
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 717
    Points : 15 094
    Points
    15 094
    Par défaut
    @Mushroom7 : + 1 !

    Sinon, juste une précision :
    Ce n'est pas plutot la taille des registres du processeur
    la taille du registre « PC » (Program Counter). Car certains registres peuvent être plus petits.
    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  10. #10
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Citation Envoyé par TicTacToe
    Juste une petite chose, 16 bits, c'est
    soit -32767 à 32768 (entier signé)
    soit 0 à 65535 (entier non signé)

    mais pas -65535 à +65535
    Euh oui j'ai pas fait attention Mais comme l'a fait remarquer Mushroom, toi non plus

    Sans rancune
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  11. #11
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    yep
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

Discussions similaires

  1. [Image] Création d'une image Niveaux de Gris 16 bits
    Par Panthère Bleue dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 13/07/2006, 19h41
  2. Lire bit à bit une image JPEG
    Par moumoute15 dans le forum Images
    Réponses: 1
    Dernier message: 10/06/2006, 15h13
  3. problème d'affichage d'une image au format DDS (24-bit)
    Par thunderbird dans le forum DirectX
    Réponses: 2
    Dernier message: 22/03/2006, 11h00
  4. Une introduction à l'assembleur 80x86, 32 bits, GNU GCC
    Par pierre.jourlin dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 04/04/2005, 17h34
  5. Réponses: 1
    Dernier message: 28/03/2005, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo