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

Mathématiques Discussion :

Comment identifier une ou plusieurs stations (IDs) avec 1 chiffre


Sujet :

Mathématiques

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 214
    Par défaut Comment identifier une ou plusieurs stations (IDs) avec 1 chiffre
    Bonjour,

    J'ai un gros dileme et je me demande si au niveau mathématique je peux le résoudre.

    J'explique le sénario,

    J'ai 6 terrains qui ont un numéro unique (je peux en avaoir plus.
    J'ai un ou pluisuers utilisateurs qui veulent "s'inscrire" pour un ou plusieurs terrains afin d'être alarmé si l'un d'entre eux est en alarme.

    C'est une application IOS/Androis qui doit recevoir un push notification quand une station d'un terrain est alarmée et le message doit être adressé au(x) utilisateur(s) qui sont "inscrit" pour ce ou ces terrin(s).

    Le problème est que je ne peux définir que deux tag par utilisateur.

    Je ne peux pas créer un tag 'field' et lui donner plusieurs valeurs. Je ne pourrais que faire
    field=1, ou field=2. Donc dans ce cas, je ne peux que définir qu'un terrain .

    Je oeux créer deux tags, soit field1=1 (field1=0) et field2=1 (ou field2=0). Mais dans ce cas je ne peux définir que deux états et que pour deux fields (terrain).

    Je me demande si en mathématique je pourrais travailler avec des masques. Mon idée, est cérer ce masque

    600301 => Dans ce cas, l'utilisateur s'est inscrit pour les terrains 1,3 et 6
    000001 => Dans ce cas l'utilisateur s'est inscrit que pour le terrain 1
    650021 => Dans ce cas, l'utilisateur s'est inscrit pour les terrains 1,2,5 et 6
    654321 => Dans ce cas, l'utilisateur s'est inscrit pour tous les terrains

    Pour calculer masque, je le ferai ainsi

    600301 => 10 (1+3+6)
    000001 => 1 (1+0...)
    004300 => 7 (1+2+5+6)
    650021 => 12 (1+2+5+6)
    654321 => 21 (6+5+4+3+2+1)

    Maintenant du côté serveur, je peux faire la même chose, si le terrain 1 et 2 sont en alarme, j'envoi la valeur 3
    si le terrain 1, 2, 5 et 6 sont en alarme, j'envoi la valeur 12
    si le terrain 3 sont en alarme, j'envoi la valeur 10, 7 et 21.

    Le problème est que si le terrain 3 est en alarme uniquement, il enverra une alarme aux etrrain 1 et 2, et 3, car 1 et 2, ca fait aussi 3....

    Je me demande si avec les math, je pourrai résoudre le calcul de la valeur du masque?

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 214
    Par défaut
    Peut être que je pourrais multiplier le calcul du masque par ne nombre de terrain?

    Exemple
    000021 => 3X2 = 6
    000300 => 3X1 = 3
    650021 => 12x4 = 48


    [Edit]
    A ben non, ca ne jouera pas car
    600000 => 6x1 = 6 aussi

    ou

    000021 => 3X2+4 = 10 ( (2x3)x nombre de terrain en alarme + les terrains au repos)
    000300 => 3X1+5 = 8
    650021 => 12x4+2 = 50

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 214
    Par défaut
    Ou peut etre en binaire..
    000021 => 3 => 000011 => 3
    000300 => 3 => 000100 => 4
    600301 => 10 => 100101 => 37
    000001 => 1 => 000001 => 1
    004300 => 7 => 001100 => 12
    650021 => 12 => 110011 => 51
    654321 => 21 => 111111 => 63


  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 304
    Billets dans le blog
    48
    Par défaut
    Bonsoir,

    Un masque oui, mais pourquoi pas un masque binaire (6bits pour 6 terrains) !

    ... l'utilisateur s'est inscrit pour les terrains 1,2,5 et 6
    Chaque terrain correspond à 1 bit (état 1=réservé, état 0=non réservé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Terrain : 6 5 4 3 2 1
    Bits    : 1 1 0 0 1 1
    Et 110011 en décimal, cela fait 32+16+2+1=51.

    Avec les opérateurs binaires tu peux tester si un terrain est réservé, réserver un nouveau terrain ou annuler la réservation.


    Est-ce que le terrain 5 est réservé ?
    terrain 5 => 010000, soit 16 en décimal

    Avec un ET (&) : 51 & 16 = 16, donc oui, il est réservé.

    etc.

Discussions similaires

  1. comment structurer une modél. UML - projet J2EE avec pattern
    Par RocketArena dans le forum Architecture
    Réponses: 18
    Dernier message: 20/07/2007, 20h20
  2. Réponses: 8
    Dernier message: 13/10/2005, 11h38
  3. Réponses: 4
    Dernier message: 30/05/2005, 11h29
  4. comment identifier une transaction http?
    Par didier.cabale dans le forum Développement
    Réponses: 5
    Dernier message: 13/04/2005, 17h42
  5. [Servlet] Comment utilisé une servlet plusieurs fois ?
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 03/06/2004, 15h49

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