Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
C'est vague, comme spécification.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20; date[1] = 0x12; date[2] = 0x10;
À priori, j'imaginerais plutôt : date = 0x20122010; // 20/12/2010 ou : date = 0x20102012; // 2010/20/12 voire : date = 0x01022102; // 20/12/2010, "little endian" ... les possibilités sont innombrables.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Que dit la norme définissant ce protocole ?
-- Olivier Miakinen
Bonjour,
Le 06/10/2010 11:26, Yo a écrit :
Selon un protocole de communication, je dois coder une date en BCD sur
6 octets.
C'est vague, comme spécification.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20;
date[1] = 0x12;
date[2] = 0x10;
À priori, j'imaginerais plutôt :
date = 0x20122010; // 20/12/2010
ou :
date = 0x20102012; // 2010/20/12
voire :
date = 0x01022102; // 20/12/2010, "little endian"
... les possibilités sont innombrables.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement
m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
C'est vague, comme spécification.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20; date[1] = 0x12; date[2] = 0x10;
À priori, j'imaginerais plutôt : date = 0x20122010; // 20/12/2010 ou : date = 0x20102012; // 2010/20/12 voire : date = 0x01022102; // 20/12/2010, "little endian" ... les possibilités sont innombrables.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Le Wed, 06 Oct 2010 14:17:18 +0200, Yo a écrit (dans <news:i8hpcl$4gi$, posté dans fr.comp.lang.c++) :
Olivier Miakinen a présenté l'énoncé suivant :
Que dit la norme définissant ce protocole ?
Rien de plus, hélas ...
Difficiel de trancher, alors.
Personnellement, je pencherais pour 0x02,0x00,0x01,0x02,0x01,0x00 pour le 20 décembre 2010, soit une date à six chiffres et un octet par chiffre de 0x00 à 0x09. C'est le moyen le plus plausible pour avoir six octets, et appeler ça du BCD. Resterait à connaître l'ordre : ISO, européen ou américain.
-- ___________ _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Le Wed, 06 Oct 2010 14:17:18 +0200, Yo a écrit
(dans <news:i8hpcl$4gi$1@speranza.aioe.org>, posté
dans fr.comp.lang.c++) :
Olivier Miakinen a présenté l'énoncé suivant :
Que dit la norme définissant ce protocole ?
Rien de plus, hélas ...
Difficiel de trancher, alors.
Personnellement, je pencherais pour 0x02,0x00,0x01,0x02,0x01,0x00 pour
le 20 décembre 2010, soit une date à six chiffres et un octet par
chiffre de 0x00 à 0x09. C'est le moyen le plus plausible pour avoir six
octets, et appeler ça du BCD. Resterait à connaître l'ordre : ISO,
européen ou américain.
--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Le Wed, 06 Oct 2010 14:17:18 +0200, Yo a écrit (dans <news:i8hpcl$4gi$, posté dans fr.comp.lang.c++) :
Olivier Miakinen a présenté l'énoncé suivant :
Que dit la norme définissant ce protocole ?
Rien de plus, hélas ...
Difficiel de trancher, alors.
Personnellement, je pencherais pour 0x02,0x00,0x01,0x02,0x01,0x00 pour le 20 décembre 2010, soit une date à six chiffres et un octet par chiffre de 0x00 à 0x09. C'est le moyen le plus plausible pour avoir six octets, et appeler ça du BCD. Resterait à connaître l'ordre : ISO, européen ou américain.
-- ___________ _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Serge Paccalin
Le Wed, 6 Oct 2010 14:35:16 +0200, Serge Paccalin a écrit (dans <news:, posté dans fr.comp.lang.c++) :
Difficiel
… disait l'ingénieur logicile…
Vais reprendre un café, moi.
-- ___________ _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Le Wed, 6 Oct 2010 14:35:16 +0200, Serge Paccalin a écrit
(dans <news:kq9wxru2shvn.dlg@canttouchthis-127.0.0.1>, posté
dans fr.comp.lang.c++) :
Difficiel
… disait l'ingénieur logicile…
Vais reprendre un café, moi.
--
___________
_/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net
_L_) Il faut donc que les hommes commencent
-'(__) par n'être pas fanatiques pour mériter
_/___(_) la tolérance. -- Voltaire, 1763
Le Wed, 6 Oct 2010 14:35:16 +0200, Serge Paccalin a écrit (dans <news:, posté dans fr.comp.lang.c++) :
Difficiel
… disait l'ingénieur logicile…
Vais reprendre un café, moi.
-- ___________ _/ _ _`_`_`_) Serge PACCALIN -- sp ad mailclub.net _L_) Il faut donc que les hommes commencent -'(__) par n'être pas fanatiques pour mériter _/___(_) la tolérance. -- Voltaire, 1763
Michel__D
Bonjour,
Yo a écrit :
Bonjour,
Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20; date[1] = 0x12; date[2] = 0x10;
Mais cela ne donne que 3 octets.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Merci.
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD (binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Bonjour,
Yo a écrit :
Bonjour,
Selon un protocole de communication, je dois coder une date en BCD sur 6
octets.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20;
date[1] = 0x12;
date[2] = 0x10;
Mais cela ne donne que 3 octets.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement
m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Merci.
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD
(binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne
faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20; date[1] = 0x12; date[2] = 0x10;
Mais cela ne donne que 3 octets.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Merci.
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD (binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Yo
Michel__D avait prétendu :
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD (binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Ou alors il s'agit de la date et de l'heure ?
Michel__D avait prétendu :
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD
(binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne
faut pas aussi fournir le jour de la semaine ainsi que le numèro de la
semaine.
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD (binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Ou alors il s'agit de la date et de l'heure ?
Michel__D
Re,
Yo a écrit :
Michel__D avait prétendu :
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD (binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Ou alors il s'agit de la date et de l'heure ?
Ce qui serait plus plausible.
3 octets pour la date et 3 octets pour l'heure.
PS:Si tu as la possibilité d'obtenir/demander/requêter le statut de la date tu obtiendras peut-être le format utilisé et à utiliser.
Re,
Yo a écrit :
Michel__D avait prétendu :
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage
BCD
(binaire codé décimal) signifie que chaque quartet correspond à un
chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne
faut pas aussi fournir le jour de la semaine ainsi que le numèro de
la semaine.
Ou alors il s'agit de la date et de l'heure ?
Ce qui serait plus plausible.
3 octets pour la date et 3 octets pour l'heure.
PS:Si tu as la possibilité d'obtenir/demander/requêter le statut de la
date tu obtiendras peut-être le format utilisé et à utiliser.
Bien que je n'ai pas vraiment la réponse exacte à te donner ,le codage BCD (binaire codé décimal) signifie que chaque quartet correspond à un chiffre.
Donc un octet (2 quartet) permet de coder une valeur maxi de 99.
Une date pourrait être codé avec maximum 4 octets, reste à savoir s'il ne faut pas aussi fournir le jour de la semaine ainsi que le numèro de la semaine.
Ou alors il s'agit de la date et de l'heure ?
Ce qui serait plus plausible.
3 octets pour la date et 3 octets pour l'heure.
PS:Si tu as la possibilité d'obtenir/demander/requêter le statut de la date tu obtiendras peut-être le format utilisé et à utiliser.
Olivier Miakinen
Le 06/10/2010 16:50, Michel__D a écrit :
Ou alors il s'agit de la date et de l'heure ?
Ce qui serait plus plausible.
3 octets pour la date et 3 octets pour l'heure.
... ou alors 4 octets pour la date (année complète) et 2 pour l'heure (sans les secondes). Là encore tout est possible.
-- Olivier Miakinen
Le 06/10/2010 16:50, Michel__D a écrit :
Ou alors il s'agit de la date et de l'heure ?
Ce qui serait plus plausible.
3 octets pour la date et 3 octets pour l'heure.
... ou alors 4 octets pour la date (année complète) et 2 pour l'heure
(sans les secondes). Là encore tout est possible.
Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
Si mes souvenirs sont bons, BCD, c'est un octet par chiffre décimal.
Le 20/12/10 serait donc codé "201210" (ou peut-être 0x02 0x00 0x01 0x02 0x01 0x00, mais ça m'étonnerait.)
Michel__D
Bonjour,
Yo a écrit :
Bonjour,
Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20; date[1] = 0x12; date[2] = 0x10;
Mais cela ne donne que 3 octets.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Merci.
Comme j'avais une petit doute, j'ai reouvert un bouquin d'assembleur du 8086/8088 et donc il y a bien le BCD condensé pour laquelle j'ai fourni la description et il y a le BCD non condensé qui utilise un octet par chiffre et qui pourrait bien coller à la demande, enfin bref on n'est toujours pas avancé pour autant sur le format !
Bonjour,
Yo a écrit :
Bonjour,
Selon un protocole de communication, je dois coder une date en BCD sur 6
octets.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20;
date[1] = 0x12;
date[2] = 0x10;
Mais cela ne donne que 3 octets.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement
m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Merci.
Comme j'avais une petit doute, j'ai reouvert un bouquin d'assembleur du 8086/8088
et donc il y a bien le BCD condensé pour laquelle j'ai fourni la description et
il y a le BCD non condensé qui utilise un octet par chiffre et qui pourrait bien
coller à la demande, enfin bref on n'est toujours pas avancé pour autant sur le format !
Selon un protocole de communication, je dois coder une date en BCD sur 6 octets.
Si j'ai bien compris le BCD, le codage du 20 Décembre 2010 serait :
date[0] = 0x20; date[1] = 0x12; date[2] = 0x10;
Mais cela ne donne que 3 octets.
Quelqu'un peut il confirmer (ou infirmer) mon codage, et éventuellement m'indiquer comment je peux stocker la date sur 6 octets au lieu de 3 ?
Merci.
Comme j'avais une petit doute, j'ai reouvert un bouquin d'assembleur du 8086/8088 et donc il y a bien le BCD condensé pour laquelle j'ai fourni la description et il y a le BCD non condensé qui utilise un octet par chiffre et qui pourrait bien coller à la demande, enfin bref on n'est toujours pas avancé pour autant sur le format !