Newsgroup: it.comp.java
Titolo: Java e i bit

Ciao
Avrei la necessita' di capire quando un certo valore int ha i primi 8 
bit (i primi bit partendo da destra) uguali a 0.
c'e' un qualche modo ?
grazie
ciao

 c'e' un qualche modo ?
Prova con la classe BitSet.
Oppure con i test bit-a-bit.
Ciao
Marco 

 ha scritto nel
messaggio news:dqlq4k$1luh$1...@newsreader1.mclink.it...

un numero inferiore a 256 e diverso da zero NON può avere
tutti i primi 8 bit uguali a 0

 ha scritto nel
messaggio news:dqlq4k$1luh$1...@newsreader1.mclink.it...

quindi:
dev'essere divisibile per 256 altrimenti hai necessariamente
qualche 1 tra i primi 8 bit


Suppongo che per "primi bit partendo da destra" tu intenda quelli meno
significativi; in questo caso:
int a = ...;
if ((a & 255) == 0) {
  // bit a zero
}
else { // (a & 255) > 0
  // almeno un bit a 1
}

 ha scritto nel
messaggio news:dqlq4k$1luh$1...@newsreader1.mclink.it...

quindi:
int  resto =  n % 256;
if ((n=0) || (resto = 0)) {// i primi 8 bit sono tutti 0}
   else {// qualcuno dei primi 8 bit è diverso da zero}

 writes:
G> int resto = n % 256;
Se è possibile  fare una cosa con  un test sui bit mi  sa che conviene
quello invece che passare per una  divisione, non si sa mai che capita
sotto :)
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e allevatore di bug da competizione

 writes:
|
| G> int resto = n % 256;
|
| Se č possibile  fare una cosa con  un test sui bit mi  sa
che conviene
| quello invece che passare per una  divisione, non si sa
mai che capita
| sotto :)
Niente di piů falso, il modulo resto č tra le operazione piů
ottimizzate hardware che ci sono,
non fa una vera e propia divisione non fa altro che testare
appunto i soli primi 8 biti e dirti se sono
tutti 0 o no :D anzi, ti da direttamente il valore del
numero composto dai primi 8 bit, dal punto di vista hardware
questa č una tra le operazioni
piů semplici che il processore esegue :D mi pare ci sia
anche una istruzione ben precisa assembler addirittura
eseguita direttamente dal processore.

 writes:
G> |
G> | G> int resto = n % 256;
G> |
G> | Se č possibile fare una cosa con un test sui bit mi sa che
G> conviene | quello invece che passare per una divisione, non si sa
G> mai che capita | sotto :)
G> Niente di piů falso, il modulo resto č tra le operazione piů
G> ottimizzate hardware che ci sono,
Mai fare  assunzioni su  quello che puň  fare lo  HW. So anche  io che
adesso le CPU  sparano fuori una istruzione FP al  ciclo. Ma qui siamo
in Java, e  non ti č garantito cosa  faccia una certa interpretazione,
che č SW.
G> una istruzione ben precisa assembler
G> addirittura eseguita direttamente dal processore.
Assembler di che  CPU ? Una delle CPU del  pianeta, non importa quanto
diffusa.
E di nuovo. Non č detto che la tua JVM abbia un JIT.


 writes:
|
||
| Mai fare  assunzioni su  quello che può  fare lo  HW. So
anche  io che
| adesso le CPU  sparano fuori una istruzione FP al  ciclo.
Ma qui siamo
| in Java, e  non ti è garantito cosa  faccia una certa
interpretazione,
| che è SW.
La velocità del processore che c'entra?
Le CPU che sanno eseguire una divisione sanno eseguire
l'operazione modulo resto, e quindi hanno
una istruzione ben precisa che la fa.
Quante sono le CPU che non la realizzano con una semplice
operazione?
Il 5% il 2% io non lo so, ma penso che i realizzatori delle
virtual machine non si mettano a costruire
SW quando l'HW te la mette a disposizione su un piatto
d'argento non credi?
Io credo che il 99% delle CPU usate nel mondo hanno questa
istruzione.

 
Per funzionare, in questo caso funziona, ma č poco generalizzabile: come
puoi trovare se sono 1 bit dal 5 al 12? O tutti quelli in posizioni
dispari? Con le operazioni sui bit č piů semplice:
if ((n & 0x00000FF0) == 0) // dal 5 al 12
if ((n & 0x55555555) == 0) // bit in pos. dispari
ecc...

 ha scritto nel
| > messaggio news:dqlq4k$1luh$1...@newsreader1.mclink.it...
| > | Ciao
|
| Per funzionare, in questo caso funziona, ma č poco
generalizzabile: come
| puoi trovare se sono 1 bit dal 5 al 12? O tutti quelli in
posizioni
| dispari? Con le operazioni sui bit č piů semplice:
|
| if ((n & 0x00000FF0) == 0) // dal 5 al 12
|
| if ((n & 0x55555555) == 0) // bit in pos. dispari
Ascolta, ma chi ha mai messo in dubbio la possibilitŕ di
operare con i bit mediante il mascheramento ecc ecc
ne mai mi č saltato in mente che la mia soluzione fosse
generalizzabile, OVVIO che no, č solo la piů semplice e
veloce in QUESTO caso.
Parlando di tutti i primi 2 o 3 o 4 o 5 o xBit diversi da
zero da verificare, la soluzione con il solo modulo resto e
un
or cortocircuitata te la risolve punto.
E' chiaro che non vale negli altri casi!!!!!!!!

 c'e' un qualche modo ?
Ovviamente c'è.
if( (intToTest & 0xFF) == 0) {
	//
}

 writes:
G> La velocità del processore che c'entra?  Le CPU che sanno eseguire
G> una divisione sanno eseguire l'operazione modulo resto, e quindi
G> hanno una istruzione ben precisa che la fa.
Non si parlava  di velocità in termine di clock,  ma di cicli macchina
impiegati. A parità di velocità del processore meno cicli macchina usa
una istruzione e più veloce è. Quando ho detto che un processore spara
fuori  una divisione  FP a  ciclo intendo  dire che  è  sottinteso -in
quanto banale- avere la divisione intera in un ciclo.
Ma non è garantito  che il processore che si ha sotto  lo faccia e che
abbia dia la DIV che la MOD.
G> ma penso che i realizzatori delle virtual machine non si
G> mettano a costruire SW quando l'HW te la mette a disposizione
Dipende dal compilatore che hanno usato. Usualmente i compilatori sono
furbi (anzi,  usualmente riescono a  fare un lavoro  di ottimizzazione
migliore degli umani per via della complicazione di alcune CPU).
Ma  questo  non   vuole  dire  che  non  lo   devono  essere  anche  i
programmatori...
G> Io credo che il 99% delle CPU usate nel mondo hanno questa
G> istruzione.
I progettisti potrebbero non averla pensata come te. Una istruzione in
più è complicazione extra alla macchina. E Java non gira solo sui PC e
sui  bestioni che  ci  vuole un  muletto  a spostarli  e un  contratto
speciale con Enel, gira anche su CPU ove si strippa via quasi tutto...


 writes:
|
| G> La velocità del processore che c'entra?  Le CPU che
sanno eseguire
| G> una divisione sanno eseguire l'operazione modulo resto,
e quindi
| G> hanno una istruzione ben precisa che la fa.
|
| | G> istruzione.
|
| I progettisti potrebbero non averla pensata come te. Una
istruzione in
| più è complicazione extra alla macchina. E Java non gira
solo sui PC e
| sui  bestioni che  ci  vuole un  muletto  a spostarli  e
un  contratto
| speciale con Enel, gira anche su CPU ove si strippa via
quasi tutto...
Ascolta, laddove la CPU esegue molte operazioni, il 90% in
commercio, le virtual machine sono scritte in modo di
sfruttarle al massimo,
per altre CPU che hanno riddotte istruzione già esistono
profili ecc ecc e accordi tra i costruttori e sviluppatori,
uno dei due si deve adeguare,
le virtual machine o le CPU, ma le CPU di cui tu parli sono
una quota ancora ridotta nel mercato.

 writes:
G> due si deve adeguare, le virtual machine o le CPU, ma le CPU di cui
G> tu parli sono una quota ancora ridotta nel mercato.
Se guardi solo  ai computer con un monitor, una  tastiera e che stanno
su un tavolo  hai ragione. Ma a naso  che ne sono un sacco  che non ti
rendi conto ci siano...


 writes:
|
| G> due si deve adeguare, le virtual machine o le CPU, ma
le CPU di cui
| G> tu parli sono una quota ancora ridotta nel mercato.
|
| Se guardi solo  ai computer con un monitor, una  tastiera
e che stanno
| su un tavolo  hai ragione. Ma a naso  che ne sono un sacco
che non ti
| rendi conto ci siano...
Ma ce ne sono anche molti i cellulari ad esempio i palmari e
altri del genere, e poi scusa tutto dipende anche DOVE
dovrà funzionare l'applicazione, in genere si conosce il
cliente o i clienti o le piattaforme, insomma il target, e
quindi ti
regoli di conseguenza, ti ricordo comunque che il modulo
resto è una operazione supportata da tutte le virtual
machine!!!!!!
anche le edizioni micro :D

 writes:
G> e poi scusa tutto dipende anche DOVE dovrà funzionare
G> l'applicazione, in genere si conosce il cliente o i clienti o le
G> piattaforme, insomma il target, e quindi ti regoli di conseguenza,
Io usualmente  non a programmare  per una sola piattaforma  perché non
faccio l'assuzione che  la gente usi le stesse cose  che uso io (anche
se lo auspico, per la loro libertà).
Sopratutto quando uso Java.
G> ti ricordo comunque che il modulo resto è una operazione supportata
G> da tutte le virtual machine!!!!!!  anche le edizioni micro :D
Il  fatto che  ci sia  non vuole  in automatico  dire che  sia  la più
efficente.
Quella del modulo è stata  una pensata originale, che nella stragrande
maggioranza dei casi non ti farà perdere efficienza. Ma non è una gran
buona  pensata  pur  se originale.  E  gli  altri  motivi li  hai  già
riconosciuti.


 machine!!!!!!
Gringo, quel tipo di operazioni si fanno con & e | e bitmask, da sempre. 
- Non è standard, dunque è meno leggibile e più soggetta all'introduzione
di errori
- E' meno generale, dunque meno estensibile e manutenibile
Sarebbe peggiore anche se andasse un po' più veloce, pensa un po', ed
invece nel migliore dei casi 
ha le stesse performance. 
uL
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 La soluzione del resto


 veloce in QUESTO caso.
Allora, chiariamo il concetto: questo è un classico esempio in cui la
soluzione è applicare i bitmask. E si fa così.
Se usi il modulo di 256 non metto in dubbio che tu ottenga lo stesso
risultato, ma purtroppo non è la soluzione corretta. Sfido chiunque
metterà le mani su quel pezzo di codice a capire a cosa serve.
Se un programmatore mi fa una cosa del genere, gli spezzo i ditini in
tanti piccoli frammenti... ;)

 ha scritto nel
messaggio news:dqp46q$isf$1...@area.cu.mi.it...
| Gringo ha scritto:
|
| > Ascolta, ma chi ha mai messo in dubbio la possibilità di
| > operare con i bit mediante il mascheramento ecc ecc
| > ne mai mi è saltato in mente che la mia soluzione fosse
| > generalizzabile, OVVIO che no, è solo la più semplice e
| > veloce in QUESTO caso.
|
| Allora, chiariamo il concetto: questo è un classico
esempio in cui la
| soluzione è applicare i bitmask. E si fa così.
Aspetta, quale concetto, amico la laurea l'ho presa ormai
svariati anni fa!
e di concetti non me ne sembra ce siano di così complicati
che tu mi debba chiarire!
il tipo ha formulato un quesito a cui ho dato una risposta
semplicissima, chissà quante volte
mi è capitato in reti logiche di risolvere problemi
analoghi, che messi in termini matematici si trattava
di ricercare dei multlipli, e che in ultima analisi, in
formato binario non si trattava altro che individuare
x bit uguali a zero.
| Se usi il modulo di 256 non metto in dubbio che tu ottenga
lo stesso
| risultato, ma purtroppo non è la soluzione corretta. Sfido
chiunque
| metterà le mani su quel pezzo di codice a capire a cosa
serve.
Ma chiunque guardasse anche un programma con 'chiare'
operazioni quali mascheramenti e/o cicli annidati
e chi più ne ha più ne metta, non ci capirebbe un tubo lo
stesso, e giusto a malapena il tizio che l'ha fatto ci
capirebbe
qualcosa a distanza di tempo, a patto che l'abbia
debitamente commentato a suo tempo, quindi scendi di
cattedra please
e concentrati su qualche altra scoperta scientifica ;)

 writes:
G> che messi in termini matematici si trattava di ricercare dei
G> multlipli, e che in ultima analisi, in formato binario non si
G> trattava altro che individuare x bit uguali a zero.
Il  mio prof  di elaborazione  numerica dei  segnali parlava  di mondo
della lavagna e mondo reale. E' vero, un bel po' di anni fa.
Ora, è vero che  oggi una moltiplicazione/divisione costano, a livello
di  codice,   quanto  un  mascheramento,  ma  se   vai  a  controllare
l'algoritmo  con cui  si fanno  le moltiplicazioni  e le  divisioni in
binario vedrai che c'è un costo che va pagato o in tempo di esecuzione
o  in complicazione della  circuiteria, i  concetti di  multipli vanno
bene per  gli umani, per le  macchine binarie molto meno,  per loro ci
sono concetti  di bit da  shiftare e confrontare. Si  potrebbe parlare
per ore,  ma questo  non è un  gruppo dedicato alla  progettazione dei
processori.
Questo senza  peraltro voler togliere nulla  alla eleganza matematica,
trovo  che quello  che  Graham scrive  nel  saggio pubblicato  all'url
http://www.paulgraham.com/rootsoflisp.html
  riguardo a  correttezza ed
eleganza matematica sia più che vero.
Ma l'"eleganza  matematica" si vede nella  generalità della soluzione,
non nella particolarità.
G> | Se usi il modulo di 256 non metto in dubbio che tu ottenga lo
G> stesso | risultato, ma purtroppo non è la soluzione corretta. Sfido
G> chiunque | metterà le mani su quel pezzo di codice a capire a cosa
G> serve.
G> Ma chiunque guardasse anche un programma con 'chiare' operazioni
G> quali mascheramenti e/o cicli annidati e chi più ne ha più ne
G> metta, non ci capirebbe un tubo lo stesso,
Qui va detta una cosa, molto O.T.
Nonostante i desideri del management,  programmare è un arte. Lo aveva
capito  Knuth quando  ha scritto  la sua  opera monumentale,  lo aveva
capito Brook  (Brooks) quando  aveva scritto "il  mitico mese  uomo" e
aveva dato indicazioni sulla composizione di un team di programmazione
(su 10  persone c'era un programmatore  senior, uno junior  e un "code
lawyer" il cui compito era limare  e ottimizzare il codice - altro che
schiere di code grinders).
Se  un   programmatore  in  gamba  trova  un   modulo,  per  questioni
psicologiche legate alla consuetudine  dell'uso del modulo, ci metterà
un po' di più a comprendere che è una operazione sui bit e non un caso
di "aritmetica modulo x". 
D'altro  canto uno  che non  riesce a  decifrare  "'chiare' operazioni
quali mascheramenti e/o cicli annidati" forse è il caso che non prenda
la programmazione come sua professione.
(Peraltro è possibile che dopo  aver decifrato questa persona sbotti a
ragione in un  "chi è quel cazzone che ha  scritto questo codice?". Ma
intanto lo ha decifrato.)
Ripeto, e spero che la discussione non si prolunghi oltre.
L'uso del modulo  per testare dei bit è una  trovata originale, che va
bene  come  esercizio di  ragionamento,  come  divertimento. Non  come
soluzione concreta al problema.


 ha scritto
nel messaggio
news:87y81bp7...@paperoga.gianoziaorientale.it...
| >>>>> Long count = 12.19.12.17.13; tzolkin = 12 Ben; haab
= 11 Muan.
| >>>>> I get words from the Allmighty Great Gnus that
| Ma l'"eleganza  matematica" si vede nella  generalità
della soluzione,
| non nella particolarità.
|
| G> | Se usi il modulo di 256 non metto in dubbio che tu
ottenga lo
| G> stesso | risultato, ma purtroppo non è la soluzione
corretta. Sfido
| G> chiunque | metterà le mani su quel pezzo di codice a
capire a cosa
| G> serve.
|
| G> Ma chiunque guardasse anche un programma con 'chiare'
operazioni
| G> quali mascheramenti e/o cicli annidati e chi più ne ha
più ne
| G> metta, non ci capirebbe un tubo lo stesso,
|
| D'altro  canto uno  che non  riesce a  decifrare
"'chiare' operazioni
| quali mascheramenti e/o cicli annidati" forse è il caso
che non prenda
| la programmazione come sua professione.
Ecco un altro professore, prima m'insegna l'algoritmo della
divisione implementata nei processori,
ora mi fa cambiare professione, ascolta "prof" a proposito
io sono LAUREATO ing elettronico tu?
Io invece sostengo che se uno prende alla lettera tutto ciò
che si dice senza quel minimo di elasticità
che serve per inteerfacciarsi con il mondo del lavoro ben
presto si troverà molto in diffcioltà, è ovvio e scontato
che sappia decifrare il lavoro di un altro, ma già non è
facile quando si tratti di programmi semplici e ben
commentati(
fortunatamente in Java si paga meno lo scotto avendo però
pagato già quello di imparare la sua sintassi che non è
semplice)
figuriamoci programmi nei quali esistano operazioni di
mascheramento e simili, che tu ben sai, se lo sai! che i
modi per scrivere
lo stesso programma non sono univoci, specie poi in JAVA,
quindi, immedesimarsi nell'algoritmo che ha scelto il
progettista
è sempre una operazione che costa TEMPO e quando lavorerai,
una cosa ti sarà chiara, che il tuo TEMPO è  sempre denaro,
ecco allora, che è solo in questi termini che intendevo la
difficoltà di leggere una programma di quel tipo, e cioè in
termini di tempo
che devi buttare per capirci qualcosa(NON E' UNIVOCO  il
modo di costruire algoritmo risolutivo!!!!!!)
|

 writes:
G> Ecco un altro professore, prima m'insegna l'algoritmo della
G> divisione implementata nei processori, 
Sai quanti ingegneri vedo che se ne dimenticano di questi problemi ?
G> ora mi fa cambiare
G> professione,
Non  tutti sono  tagliati  per tutto  (peraltro  non era  una cosa  ad
personam),  bisogna ammettere  i  propri limiti.  A  me piacerebbe  da
morire poter  diventare fuochista su una locomotiva  preservata, ma so
benissimo che ho dei limiti che me lo impediscono.
G> ascolta "prof" a proposito io sono LAUREATO ing
G> elettronico tu? 
Al DEI di Padova con premio sulla tesi di laurea dalla ditta che aveva
commissionato la cosa - programmazione of course.
Ancora adesso credo che il  testo degli esercizi in assembler Motorola
68000 sia quello con un bel po' di codice che ho tradotto dal PDP-11.
G> è ovvio e scontato
Magari. 
G> che sappia decifrare il lavoro di
G> un altro, ma già non è facile quando si tratti di programmi
G> semplici e ben commentati
Non  ti sei  mai divertito  con lo  IOCCC ?  Qualcuno sono  riuscito a
decifrarlo senza commentarlo ed eseguirlo.
g> ( fortunatamente in Java si paga meno lo
G> scotto avendo però pagato già quello di imparare la sua sintassi
G> che non è semplice)
Va  bene, io  ho  cominciato col  C  K&R, mi  diverto  con le  trovate
presentate  all'International Obfuscated C  Code Contest,  ma definire
non semplice la sintassi Java ...
Non ti  permette nemmeno  di compilare il  Duff's Device  (lo dovresti
trovare con Google).
D'altro  canto  la  sintassi  può  poco.   Ho  decifrato  codice  Java
inguardabile  (perché siccome  il tempo  è denaro,  qualcuno  pensa di
poter risparmiare schei mettendo  schiede di codegrinder a programmare
in  Java... Che  nonostante  la  sintassi NON  è  facile) e  assembler
cristallino come acqua di fonte.
E  sono  rimasto  estasiato  -esattamente  come  un  letterato  rimane
estasiato da una poesia, l'uso magistrale della lingua per raggiungere
un risultato- da  alcune trovate della gente che  concorre allo IOCCC,
anche se  MAI le  userei in produzione  (il tuo  uso del modulo  va in
quella direzione,  ma non mi ha  estasiato). Così come  non mi esprimo
come in un sonetto.
G> specie poi in JAVA,
Java  non è  Perl.  E' verissimo  che non  c'è  mai un  solo modo  per
risolvere un problema, non solo non  c'è un solo algoritmo (ma ci sono
algoritmi migliori ed altri peggiori) ma anche codifiche diverse dello
stesso.
G> quando lavorerai,
Lo hai scritto 11  anni fa questo post ? :) :)  :) :) Accidenti, ne ha
perso tempo vagando per gli NNTP server.
(Di solito  mi mandano a risolvere  le rogne. E' la  specialità del mio
 gruppo di lavoro).


 writes:
|
| G> Ecco un altro professore, prima m'insegna l'algoritmo
della
| G> divisione implementata nei processori,
|
| Sai quanti ingegneri vedo che se ne dimenticano di questi
problemi ?
magari fanno altro, che dici? non è che si possa tener
memoria di ogni cosa, specie
se il tuo campo di applicazione da anni è un altro, non
credi? :)))
| G> ora mi fa cambiare
| G> professione,
| Non  tutti sono  tagliati  per tutto  (peraltro  non era
una cosa  ad
| personam),  bisogna ammettere  i  propri limiti.
Beh se nn c'eri te a dirlo ......
|
| G> ascolta "prof" a proposito io sono LAUREATO ing
| G> elettronico tu?
|
| Al DEI di Padova con premio sulla tesi di laurea dalla
ditta che aveva
| commissionato la cosa - programmazione of course.
Io alla "Sapienza"  Roma!!
| Ancora adesso credo che il  testo degli esercizi in
assembler Motorola
| 68000 sia quello con un bel po' di codice che ho tradotto
dal PDP-11.
|
e cosa c'entra!!
||
| Non  ti sei  mai divertito  con lo  IOCCC ?  Qualcuno sono
riuscito a
| decifrarlo senza commentarlo ed eseguirlo.
Direi che mi diverto diversamente!! ;)
| g> ( fortunatamente in Java si paga meno lo
| G> scotto avendo però pagato già quello di imparare la sua
sintassi
| G> che non è semplice)
|
| Va  bene, io  ho  cominciato col  C  K&R, mi  diverto  con
le  trovate
| presentate  all'International Obfuscated C  Code Contest,
ma definire
| non semplice la sintassi Java ...
Diciamo allora che, essendo un 'nuovo' modo di programmare,
è sicuramente
meno facile entrare in quell'ottica, va bene così? ti è più
chiaro?
Di sicuro il C non mi ha mai impensierito, ne la sua
sintassi, ne altro, tanto quanto il JAVA,
e come me tutti coloro che si affacciano alla programmazione
ad oggetti.
Tu sei un caso a parte!
| Non ti  permette nemmeno  di compilare il  Duff's Device
(lo dovresti
| trovare con Google).
|
| D'altro  canto  la  sintassi  può  poco.   Ho  decifrato
codice  Java
| inguardabile  (perché siccome  il tempo  è denaro,
qualcuno  pensa di
| poter risparmiare schei mettendo  schiede di codegrinder a
programmare
| in  Java... Che  nonostante  la  sintassi NON  è  facile)
e  assembler
| cristallino come acqua di fonte.
Dovresti scrivere più chiaro non ho capito un tubo qui!
| E  sono  rimasto  estasiato  -esattamente  come  un
letterato  rimane
| estasiato da una poesia, l'uso magistrale della lingua per
raggiungere
| un risultato- da  alcune trovate della gente che  concorre
allo IOCCC,
| anche se  MAI le  userei in produzione  (il tuo  uso del
modulo  va in
| quella direzione,  ma non mi ha  estasiato). Così come
non mi esprimo
| come in un sonetto.
Ma cosa vuoi dire?
Secondo me prima di scrivere codice dovresti imparare a
scrivere l'italiano, e usare
la punteggiatura, perchè è già difficile decifrare ciò che
scrivi!
| G> specie poi in JAVA,
|
| Java  non è  Perl.  E' verissimo  che non  c'è  mai un
solo modo  per
| risolvere un problema, non solo non  c'è un solo algoritmo
(ma ci sono
| algoritmi migliori ed altri peggiori) ma anche codifiche
diverse dello
| stesso.
Java   non è nemmeno C e nemmeno BASIC, leggiti a pagina 23
dell'handbook della MC graw- hill
sul JAVA, per sapere cosa pensano gli autori del Perl!!!
| G> quando lavorerai,
|
| Lo hai scritto 11  anni fa questo post ? :) :)  :) :)
Accidenti, ne ha
| perso tempo vagando per gli NNTP server.
Scusa ma sei contorto nei ragionamenti, era sufficiente
scrivessi che lavori da 11 anni!!
| (Di solito  mi mandano a risolvere  le rogne. E' la
specialità del mio
|  gruppo di lavoro).
Da noi c'è un detto che è meglio non riportare, ....finisce
con Cristo e lanternone!!

 writes:
G> Sai quanti ingegneri vedo che se ne dimenticano di questi
G> problemi ?
G> magari fanno altro, che dici? non è che si possa tener memoria di
G> ogni cosa, specie se il tuo campo di applicazione da anni è un
G> altro, non credi? :)))
Beh, se NON si occupano di informatica la cosa è accettabilissima.
Ma se il loro compito è ingegnerizzare un programma che deve andare
in produzione e non dare una risposta spot ad un tecnico...
G> Beh se nn c'eri te a dirlo ......
Beh, visto che hai preso come ad personam una cosa che non lo era...
G> Al DEI di Padova con premio sulla tesi di laurea dalla ditta che
G> aveva | commissionato la cosa - programmazione of course.
G> Io alla "Sapienza" Roma!!
Diciamo  "Conosco!". diciamo  anche e  che non  tutti i  sistemisti si
andavano a legger gli advisory del nic del dominio .mil ...
*fischietta con aria falso innocente*
G> e cosa c'entra!!
CV, visto che sbandieravi la laurea...
G> | Non ti sei mai divertito con lo IOCCC ?  Qualcuno sono riuscito a
G> | decifrarlo senza commentarlo ed eseguirlo.
G> Direi che mi diverto diversamente!! ;)
De  gustibus, io  trovo pallosa  la lirica,  ma nello  specifico della
programmazione è indicativo delle capacità come programmatore.
G> Diciamo allora che, essendo un 'nuovo' modo di programmare, è
G> sicuramente meno facile entrare in quell'ottica, va bene così? ti è
G> più chiaro?  Di sicuro il C non mi ha mai impensierito, ne la sua
G> sintassi, ne altro, tanto quanto il JAVA, e come me tutti coloro
G> che si affacciano alla programmazione ad oggetti.  Tu sei un caso a
G> parte!
No, qui chiedo scusa perché, complice anche il tuo lessico, avevo preso
bisi per fave.
Che la  programmazione ad  oggetti sia "traumatica"  per chi  viene da
quella  procedurale non  posso  che essere  d'accordo.  
Scusa,  ma con  sintassi avevo  capito solo  l'aspetto  sintattico, di
mettere i simboli giusti al posto giusto.
G> E sono rimasto estasiato -esattamente come un letterato rimane 
G> estasiato da una poesia, l'uso magistrale della lingua per
G> raggiungere un risultato - da alcune trovate della gente che
G> concorre allo IOCCC, anche se MAI le userei in produzione (il tuo
G> uso del modulo va in quella direzione, ma non mi ha
G> estasiato). Così come non mi esprimo come in un sonetto.
G> Ma cosa vuoi dire? 
Effettivamente è  un po' troppo lispish e  marinettiano. Ma impegnati,
ce la puoi fare :). Peraltro in usenet uso il parlato, di getto.
G> Java non è nemmeno C e nemmeno BASIC,
Se non c'eri tu a dirmelo!!!!
Il riferimento  al Perl era dovuto al  fatto che è il  loro motto "non
c'è  mai un  solo modo  per fare  le cose".  In Perl  a quanto  pare è
vero. In Java meno.
G> Scusa ma sei contorto nei ragionamenti, era sufficiente scrivessi
G> che lavori da 11 anni!!
Era troppo banale e poco divertente :)


 writes:
|
| G> Sai quanti ingegneri vedo che se ne dimenticano di
questi
| G> problemi ?
|
| G> magari fanno altro, che dici? non è che si possa tener
memoria di
| G> ogni cosa, specie se il tuo campo di applicazione da
anni è un
| G> altro, non credi? :)))
|
| Beh, se NON si occupano di informatica la cosa è
accettabilissima.
| Ma se il loro compito è ingegnerizzare un programma che
deve andare
| in produzione e non dare una risposta spot ad un
tecnico...
Semplicemente intendevo che si può sconfinare in ambiti che
è opportuno conoscere, ma non
così in dettaglio, nel mio caso sono fortunato, giacchè io
l'ho studiati in dettaglio!
ma quand'anche non fosse, non credo sia pregiucata
significativamente la mia capacità di ottimizzazione,
è sufficiente sapere infatti che, una divisione, richiede
solo un po' più tempo rispetto un semplice confronto,
nello specifico di questo caso :D
|
| G> Io alla "Sapienza" Roma!!
|
| Diciamo  "Conosco!". diciamo  anche e  che non  tutti i
sistemisti si
| andavano a legger gli advisory del nic del dominio .mil
...
non so di cosa tu stia parlando, e di certo non sono un
sistemista nel senso di sistemi operativi!
forse nel senso di sistemi astratti orientati si :)
| G> e cosa c'entra!!
|
| CV, visto che sbandieravi la laurea...
no, che c'entra con il discorso l'assembler del motorola
68000
| G> | Non ti sei mai divertito con lo IOCCC ?  Qualcuno
sono riuscito a
| G> | decifrarlo senza commentarlo ed eseguirlo.
|
| G> Direi che mi diverto diversamente!! ;)
|
| De  gustibus, io  trovo pallosa  la lirica,  ma nello
specifico della
| programmazione è indicativo delle capacità come
programmatore.
E' solo indice del corso di specializzazione che hai preso,
e non certo indice della
capacità di ben programmare!
| G> Diciamo allora che, essendo un 'nuovo' modo di
programmare, è
| G> sicuramente meno facile entrare in quell'ottica, va
bene così? ti è
| G> più chiaro?  Di sicuro il C non mi ha mai impensierito,
ne la sua
| G> sintassi, ne altro, tanto quanto il JAVA, e come me
tutti coloro
| G> che si affacciano alla programmazione ad oggetti.  Tu
sei un caso a
| G> parte!
|
| No, qui chiedo scusa perché, complice anche il tuo
lessico, avevo preso
| bisi per fave.
Beh scusi allora! anchio a dire il vero parlavo di sintassi,
ma, mi riferivo comunque, e soltanto, alle difficoltà
di approccio e sintesi dei programmi :o
| Effettivamente è  un po' troppo lispish e  marinettiano.
Ma impegnati,
| ce la puoi fare :). Peraltro in usenet uso il parlato, di
getto.
No, credo ti devi impegnare tu a mettere accenti e virgole
nel discorso, non io a capirne il senso, immagino che la
fase più impegnativa dei tuoi programmi sia il debug  :D
||| G> Scusa ma sei contorto nei ragionamenti, era
sufficiente scrivessi
| G> che lavori da 11 anni!!
|
| Era troppo banale e poco divertente :)
Quest'ultima in sintesi un aspetto importante della tua
attività di programmatore?
complicare invece di semplificare? :D

 writes:
G> | G> Io alla "Sapienza" Roma!!
G> |
G> | Diciamo "Conosco!". diciamo anche e che non tutti i sistemisti si
G> | andavano a legger gli advisory del nic del dominio .mil ...
G> non so di cosa tu stia parlando, e di certo non sono un sistemista
G> nel senso di sistemi operativi!  forse nel senso di sistemi
G> astratti orientati si :)
Una  cosuccia  divertente per  la  quale  mi  hanno ringraziato  dalla
"Sapienza". Oggi sarebbe un pelino illegale :)
G> | G> e cosa c'entra!!
G> |
G> | CV, visto che sbandieravi la laurea...
G> no, che c'entra con il discorso l'assembler del motorola 68000
Ripeto, fa parte del mio curriculum di laureato. Il testo di studio
che si è usato e forse si usa ancora ha un tot di miei contributi. 
Cosa fatta per "puro divertimento" (in realtà ho imparato cose che
nei corsi non si insegnano).
G> | De gustibus, io trovo pallosa la lirica, ma nello specifico della
G> | programmazione è indicativo delle capacità come programmatore.
G> E' solo indice del corso di specializzazione che hai preso, e non
G> certo indice della capacità di ben programmare!
Comprendere o no i sorgenti dello IOCCC non è solo indice del corso
di specializzazione.
G> No, credo ti devi impegnare tu a mettere accenti e virgole nel
G> discorso, non io a capirne il senso, immagino che la fase più
G> impegnativa dei tuoi programmi sia il debug :D
Il testo lo  ho ricontrollato ed era contorto  lo ammetto, troppe idee
che si affollano e poca velocità delle dita. Ma non incomprensibile.
Comunque la  risposta è  no. Ammetto che  faccio girare  abbastanza il
compilatore per ripulire  la sintassi, ma la logica  raramente è causa
di problemi.
G> Quest'ultima in sintesi un aspetto importante della tua attività di
G> programmatore?  complicare invece di semplificare? :D
Errore, divertirmi.  
E  se per  gioco so  inventare kluge  pazzesche che  fanno impallidire
l'uso del mod per testare i bit, per lavoro l'approccio ed i risultati
sono ben diversi.
Dassvidania!
-- 
 /\            ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
  //--\ | | \|  |   Integralista GNUslamico  
\/		    e allevatore di bug da competizione
P.S. era dalle parti di Roma che c'era un detto sul riso, mi pare...

 writes:
|
| Dassvidania!
|
Dasvidania :D
Korosho! kak dela?

 benissimo che ho dei limiti che me lo impediscono.
OT per OT, questa e' una cosa interessante...
Sempre a Roma, c'è una bella Gr625 che ogni tanto si va a fare un giretto su per 
i castelli Romani...
Comunque una bella carriera Gian Uberto, diciamo che allora le operazioni sui 
bit era il pane quotidiano...e non le moderne lotte alla velocità delle GPU! ;)
Sarebbe bello avere qualche reference che introduca il modo di lavorare sui 
bit...! ;)
Ciao,
jRed

 bit...! ;)
Ovviamente c'è... ed e' anche molto interessante
Hacker's Delight
By Henry S. Warren, Jr.
...............................................
Publisher: Addison Wesley
Pub Date: July 17, 2002
Print ISBN-10: 0-201-91465-4
Print ISBN-13: 978-0-201-91465-8
Pages: 320


 x bit uguali a zero.
Dai uno squardo ad Hacker's delight, le tecniche spiegate variano dal
contare tutti i bit ad 1 fino alle 
curve di Hilbert. In Java 1.5 sono implementate diverse operazioni a basso
livello sui bit con gli 
algoritmi descritti da Warren, che è un'autorità in materia. Alcune sono
molto criptiche ma 
efficacissime, puoi usarle come esericizio mentale.
Però prometti di smettere di difendere l'indifendibile? O vuoi essere
catalogato come l'ennesimo 
scocciatore del ng che si intestardisce in un thread infinito pur di
sostenere un punto di poco valore? 
E poi tipicamente scompare, salvo talvolta riapparire con un nuovo nick? :)
uL


 ha scritto nel messaggio
news:dqrd8a$9pm$1...@news.newsland.it...
| Gringo ha scritto:
|
| Però prometti di smettere di difendere l'indifendibile? O
vuoi essere
| catalogato come l'ennesimo
| scocciatore del ng che si intestardisce in un thread
infinito pur di
| sostenere un punto di poco valore?
| E poi tipicamente scompare, salvo talvolta riapparire con
un nuovo nick? :)
|
Io non sto affatto difendendo un bel niente,
il trhead diventa infinito anche per le tue risposte non
credi?
afferri il concetto?
Mi pare che abbia ammesso da un po' l'originalità quanto
inadeguabilità
per tutti i casi della mia risposta, ma si vede che non sei
capace a leggere tra righe,
eppure sai decifrare ad un colpo codici fumosi!!! cos'è
successo?
hai fatto cilecca stavolta?  rileggiti i post precedenti!!!