Newsgroup: it.comp.lang.visual-basic
Titolo: Dilemma matematico

Un saluto a tutti.
C'è nessuno che mi può aiutare a capire questo ?
Com'è possibile che in 15 byte siano contenuti 22 n°
ES.
       00 12 1A 0A CA 9C 84 1C A3 45 21 27 AB B2 07
       e rappresentano:
       1-17-5-21-2-6-11-7-8-10-9-15-4-14-18-3-19-20-12-22-13-16
Sicuramente sarò anche [OT] ma vi chiedo aiuto
Grazie anticitatamente

        1-17-5-21-2-6-11-7-8-10-9-15-4-14-18-3-19-20-12-22-13-16
ma dare qualche info in piu' guastava?
di che si tratta?
al mondo esistono godzilliardi di codifiche.
potrebbe anche essere la codifica in settetti degli sms
boh?!?!?
--
Fibia "Sakamoto" FBI
E-mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Sito Personale: 
http://www.geocities.com/fibiafbi
VB Simple: 
http://vbsimple.virtualave.net
Membro #25 delle Mitiche Brigate Takahashi sezione Sud

 >        1-17-5-21-2-6-11-7-8-10-9-15-4-14-18-3-19-20-12-22-13-16
ora non sò per filtri cosa intendi
diciamo che devo prelevare i dati dal file .bin ed inserirli in un editor
per poterli modificare e poi reinserirli modificati in quello spazio di
byte.
Ovviamente i dati si riferiscono ad una squadra sola poi lo stesso
procedimento verrebbe alpicato alle restanti.
se servono altre info sono a dsposizione

 writes:
CP> Un saluto a tutti.
CP> C'è nessuno che mi può aiutare a capire questo ?
CP> Com'è possibile che in 15 byte siano contenuti 22 n°
Usando  5.45 bit  per numero  :), ovvero  qualche numero  con 5  bit e
qualcuno con 6.
Nella stringa indicata nessun numero usava più di 5 bit (22 è 10110)
--
Gian Uberto| main(){printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}
Lauri      |                        David Korn, 1987 ioccc best one liner 
(aka saint)|-------------------------------------------------------------------
em@ail: 
sa...@eng.it
 ( vedere X-nospam nello header - see X-nospam in header )

 Sicuramente sarņ anche [OT] ma vi chiedo aiuto
Se osservi i numeri in formato  binario scopri che sono gruppi di sette bit
a cui  poi si deve sommare 1.
Ti indico solo i primi tre numeri se no poi mi stanco! ;-P
Primi 7 bit di [00]
 0000000  = 0 (+1) = 1
1 bit del byte precedente e 6 bit di [12]
 001000.0  = 16 (+1) = 17
2 bit del byte precedente e 5 bit di [1A]
 00001.00 = 4 (+1) = 5
E cosi' via.
ciao
Paolo B.

 Se osservi i numeri in formato  binario scopri che sono gruppi di sette
bit
Ehm, vabbeh che fa caldo, pero'... :-/
Anche se la spiegazione sembra funzionare in realta' avevo preso i bit
nell'ordine di lettura sinistra/destra invece che in quello basso/alto dei
bit.
Ha ragione gian uberto, sono gruppi di 5 bit.
Il resto poi e' come dicevo io: sono indicizzati da 0 i numeri delle maglie
e quindi si deve sommare 1.
Visto che siamo in argomento, come si fa in VB ad avere una conversione
testuale di un numero in binario o esadecimale?
Ossia se io ho nella variabile Num il valore 127 come faccio ad avere la
stringa esadecimale (supponiamo) corrispondente, ossia 7F?
Io vengo dal c++ e queste cosette in vb ancora le devo scoprire. :-)
ciao
Paolo B.

 stringa esadecimale (supponiamo) corrispondente, ossia 7F?
basta farsi delle apposite funzioni di conversione:
(non testate !!..)
Per Decimale -> Binario
while (n>=0)
    bin=bin & (n mod 2)
    n=n/2
loop
per Decimale a EsaDecimale ... simile  ... vedi te!
Ciao

 stringa esadecimale (supponiamo) corrispondente, ossia 7F?
Per il binario ti hanno già risposto.
Per l'esadecimale c'è già una funzione: Hex$(numero) (che fantasia eh?)
Per avere un numero da esadecimale a decimale basta fare
Val("&H" & numerohex)
Ciao


Ehehe, ok ma cosi' me lo confondi! ;-)
Diciamo che sono tutti numeri a 5 bit e poi in fondo, dopo avere ottenuti i
22 numeri, avanza qualche bit inutile.
ciao
Paolo B.

 ha scritto nel messaggio
news:9ht3h9$h1d$1...@nreadA.inwind.it...

Ti ringrazio ma devo ammettere che non me l'aspettavo.
Pensavo ci fosse qualche sistema di conversione gia' pronto per l'uso e
invece..
Il vb mi stupisce sempre di piu'.
Ha potenzialita' enormi per la gestione degli oggetti ma anche lacune
sorprendenti quando si parla di funzioni a basso livello.
ciao
Paolo B.

 ha scritto nel messaggio
news:QHo07.33817$u%1.24...@news1.tin.it...

Ora si ragiona. :-)
Almeno per l'esadecimale qualcosa c'era "di serie".
ciao
Paolo B.


Per l'esadecimale hala hex, mi pare che in qbasic ci fosse la bin ma non e'
stata esportata.
Ciaotutti,
Asterix


Cough cough...Meglio CLng che almeno ricevi un errore se il numero e'
formattato male...
Ciaotutti,
x

 formattato male...
Vero, io uso Val() proprio per non dover trappare io l'errore :)
Ciao


Io pure, ma da quando ho scoperto che E3 e' un numero ho cambiato idea...
Ciaotutti,
Asterix

Io pure, ma da quando ho scoperto che E3 e' un numero ho cambiato idea...
Porc ... mi hai fatto prendere un accidente :-(
Poi ...
?Val("E3")
 0 
?IsNumeric("E3")
False
ho tirato un (mezzo) respiro di sollievo :)
ciao, hal
(provato con win2k, vb6 sp4)


Non mi ricordo la condizione ma c'era un caso particolare che mi ha lasciato
perplesso...
2E2 e' naturalmente numerico con qualunque funzione (essendo 200 in
notazione scientifica), il che in alcune circostanze e' un problema, ma poco
se ne puo' fare...
Ciaotutti,
Asterix

se ne puo' fare...
Azz... ho capito :(
?Val("2EA")
 2 
?Val("2E3")
 2000 
 
?IsNumeric("2E3") 
True
?IsNumeric("2EA") 
False
Mi sembra in effetti piu' un bug che una feature, perche'
il comportamento e' comunque incoerente. 
Grazie della segnalazione ;-)
ciao, hal

 
Incoerente o meno, e' un comportamento che nella guida
e' ben documentato, provare per credere.
-- 
Samuele Battarra
mail server: 
libero.it
, account: battarsa
prova il mio newsreader:
http://digilander.iol.it/battarsa/programmi/leggiminews.html

e' ben documentato, provare per credere.
Stavolta proprio non sono riuscito a trovarlo :-(
Ho cercato "Val", "IsNumeric", "Val IsNumeric", "Val hexadecimal", 
"IsNumeric hexadecimal", ma non c'e' stato verso !
Have you got a hint ?
ciao, hal


Frena...
2EA e' un numero valido solo fino a 2, in quanto EA non e' una scrittura
matemaica valida, percui la Val si ferma al 2; nella sua interezza non e'
numerico, quindi isnumeric ritorna false
2E3, invece, e' una scrittura matematica valida (=2*10^3), percui la Val la
legge correttamente; nella sua interezza e' un numero valido, percui
isnumeric ritorna true.
Ciaotutti,
Asterix

 
Semplicemente scrivi Val e premi F1 e arrivi subito alla pagina giusta.
Riporto dalla guida.
Osservazioni
La funzione Val interrompe la lettura della stringa in corrispondenza
del primo carattere non riconosciuto come parte di un numero.
I simboli e i caratteri spesso riconosciuti come facenti parte
di un valore numerico, quali il segno di valuta e le virgole,
non vengono riconosciuti. La funzione riconosce tuttavia i prefissi
di radice &O (per ottale) e &H (per esadecimale). Gli spazi,
le tabulazioni e i caratteri di avanzamento riga vengono eliminati
dall'argomento.
In questo esempio la funzione restituirą il valore 1615198:
Val("    1615 198th Street N.E.")


isnumeric ritorna true.
E' vero, me ne sono reso conto oggi pomeriggio quando mi sono capitati
dei numeri in notazione scientifica.
Infatti 
?Val("2E-2")
 0.02 
Si' puo' quindi stabilire che Val e IsNumeric sono in effetti coerenti.
ciao, hal

Val("    1615 198th Street N.E.")
Avevo letto questo passaggio, ma non spiega perche'
Val("2E3") = 2000 mentre Val("2EA") = 0.
Il trucco in effetti stava nel fatto che "2E3" viene considerata notazione
scientifica, sicche', a questo punto bisogna ammettere che Val e' coerente.
ciao, hal