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

MS SQL Server Discussion :

[2K5] Le plus gros type entier


Sujet :

MS SQL Server

  1. #1
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut [2K5] Le plus gros type entier
    Bonjour

    Je fais un bitmap avec des entiers (c'est à dire je définis un nombre comme "flag", sachant qu'ils peuvent être combinés entre eux pour définir une action)

    Voilà un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ID | DROIT
    --------------
    1  | lecture
    2  | écriture
    4  | exécution
    8  | partagé
    16 | caché
    32 | archive
    Ensuite on peut donner les propriétés d'un fichier en additionnant les différents ID. (un fichier partagé caché en lecture seule aura une propriété 1 + 8 + 16 = 25)

    Sauf que moi je ne travaille pas avec des fichiers, mais avec des pages, et je commence à en avoir beaucoup, et le bigint commence à être limite au niveau du nombre de bit qu'il me fournit.

    Est ce qu'il y a un type entier qui soit plus long encore ? Je pose la question parce qu'en testant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 4611686018427387904 * 4611686018427387904 * 4
    j'ai un résultat (qui est 85070591730234615865843651857942052864)
    4611686018427387904 est le plus gros entier puissance de 2 que j'ai à l'heure actuelle grâce au bigint. Le problème est que si ce n'est pas un entier, la valeur machine risque de me poser problème, puisque tout mon algorithme de récupération des pages passe par des divisions entières

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Regardez du côté de la fonction BITWISE AND.

  3. #3
    Membre éclairé Avatar de mioux
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2005
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2005
    Messages : 369
    Par défaut
    Merci pour l'info, je me la note dans un coin

    Si un jour j'ai vraiment besoin d'en ajouter, je ferais une évolution dans ce sens

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/11/2006, 00h41
  2. [Fortran 90] Type entier non signé
    Par nnath dans le forum Fortran
    Réponses: 2
    Dernier message: 17/07/2006, 00h21
  3. Calculer la longueur d'une variable de type entier
    Par juliendeparis dans le forum C
    Réponses: 13
    Dernier message: 08/06/2006, 13h44
  4. [API] résultat d'un Insert sur un champs de type entier
    Par Popoyan dans le forum Bases de données
    Réponses: 3
    Dernier message: 05/06/2006, 14h16
  5. [LG]type entier
    Par fakroun dans le forum Langage
    Réponses: 3
    Dernier message: 20/11/2003, 23h39

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