>----Messaggio originale---- >Da: [email protected] > quando si inizia un nuovo argomento si dovrebbe evitare di rispondere > ad un thread esistente
ero convinto di aver fatto così, il subject è nuovo. Ma forse per evitare di cercare il destinatario ho fatto reply. Se ho sbagliato scusate. > Il 06/03/2012 00:36, Valerio Messina ha scritto: >> ciao, sto cercando di implementare il calcolo della parità binaria, >> che manca tra le funzioni di OO. > > Sarebbe opportuno specificare se si sta usando OOo o Libò, visto che > i due prodotti cominciano a divergere (per ora marginalmente) La > specifica è ancora più importante se si parla di programmazione. la mia intenzione è di farlo funzionare con OO, l'ho specificato nella mail e ho scritto alla mail-list di OO. Se poi va anche su LO molto meglio. > Ad > esempio, in OOo non esiste a livello API una funzione "DEC2BIN" A livello di API non so niente, ma la funzione DEC2BIN esiste in OO 3.3 Calc sezione funzioni "Add-in". Io ce l'ho sia su Ubuntu che su Windows, senza aver aggiunto pacchetti Add-in. Ce l'ho solo io? La mia richiesta di aiuto era perché vorrei richiamare questa funzione di Calc dal codice Basic. Ora mi fai venire il sospetto che "builtin" non siano le funzioni di Calc? >> A dire il vero a OO mancano anche tutte le funzioni di >> manipolazione a bit. > > Interessante, si tratta di funzioni presenti in altri prodotti > concorrenti? in LO 3.5 ci sono queste funzioni nel gruppo Mathematical: BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR (che mi sono reimplementato in OO con il Basic, ma che accettano argomenti già in binario), oltre alle trigonometriche: CSC, CSCH, SEC, SECH >> In ogni caso il calcolo della parità necessita solo di BITRSHIFT, >> BITXOR e BITAND. Dato che l'argomento del mio foglio è decimale, >> vorrei prima invocare la DEC2BIN nel codice Basic. > > Perchè? perché vorrei evitare di inserire nel foglio due funzioni nidificate: A1=23 =NOT(DEC2BIN(A1)) ma solo: =NOT(A1) perché la formula della parità ha già 5-6 livelli di parentesi. > probabilmente perchè stai cercando di eseguire il NOT su una stringa sospettavo, quindi NOT si aspetta un numero, e la DEC2BIN restituisce una stringa? Come devo fare per avere il negato bit a bit del valore in A1? Esempio: A1=23 (cioé 10111 in binario) =NOT(A1) ottenere 01000 come risultato >> P.S. la print riporta il valore corretto, e se faccio la NOT di val >> già in binario,tutto funziona. > > Cosa intendi esattamente per valore "già in binario" ? se metto in A1=10111 (nel caso di 23) in questo caso il Basic mi restituisce 01000 > Mi pare che l'errore sia nel concetto, non nel basic. Tu sembri > confondere la *rappresentazione* di un numero con la quantità > rappresentata. purtroppo conosco il C, e conosco le sue funzioni di conversione. Ma con il Basic zero, non so nemmeno come si dichiarano i tipi delle variabili, implicite, conversioni, ecc... grazie dell'aiuto, Valerio
