Topic: iterare al contrario  (Letto 3153 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re: iterare al contrario
« Risposta #45 il: Luglio 28, 2013, 00:05 »
In effetti negli esercizi in cui si parla di "stringa di bit" sarebbe meglio parlare di rappresentazione binaria sotto forma di stringa... non esiste una stringa di bit.

Come no? Una stringa e' una sequenza di caratteri da un alfabeto. Qualunque tipo di informazione rappresentata su un computer e' una stringa di bit, in quanto e' rappresentata con i simboli dell'alfabeto binario.

Offline ivelios75

  • python neanderthalensis
  • ****
  • Post: 268
  • Punti reputazione: -3
    • Mostra profilo
Re: iterare al contrario
« Risposta #46 il: Luglio 28, 2013, 08:43 »
probabilmente intendeva di una sequenza di bit in un una stringa?

Cmq giornale con  i numeri io lo sapevo fare difatti in molti esercizi postati stavano questi esempi,ma con le stringhe non ne concepivo l idea.

Aaaaaaa ho capito

a="C" + a      sarebbe C
a="a"+ a       sarebbe aC
a="s" + a      sarebbe saC
a="a" + a       sarebbe asaC


Ed ecco il codice finalmente:
[codice]decimale=int(input("Inserisci un numero decimale da convertire in base 8: "))
stringa= " "
while decimale>0:
    numero=decimale%8
    decimale=decimale//8
    stringa=str(numero)+stringa
    print(stringa)
 
   [/codice]

 
« Ultima modifica: Luglio 28, 2013, 10:01 da ivelios75 »

Offline Claudio_F

  • python sapiens sapiens
  • ******
  • Post: 1.157
  • Punti reputazione: 2
    • Mostra profilo
Re: iterare al contrario
« Risposta #47 il: Luglio 28, 2013, 10:45 »
probabilmente intendeva di una sequenza di bit in un una stringa?

Una stringa è formata da caratteri, quindi la stringa "01110011" è una stringa di caratteri "0" e "1" che possono rappresentare i bit di un valore numerico espresso in binario, ma non sono il numero binario stesso né i "veri" bit.

Non volevo scendere a questo livello di dettaglio, ma già che ci siamo è meglio chiarire subito... come dice riko ogni carattere -e ogni altra cosa- è rappresentato internamente nella macchina  in modo binario, per forza di cose, tutti i circuiti del computer funzionano solo con due stati elettrici e quindi ogni tipo di informazione va codificata tramite sequenze di due soli stati (che chiamiamo convenzionalmente stati logici 0 e 1)

In particolare il carattere "0" viene rappresentato con il codice ASCII 48 (00110000 in binario) e il carattere "1" con il codice ASCII 49 (00110001 in binario), quindi la nostra stringa di caratteri "01110011" in realtà all'interno della macchina viene memorizzata con la sequenza binaria:

0011000000110001001100010011000100110000001100000011000100110001

Il libro non chiede di scendere a questo livello, ma solo di considerare i caratteri della stringa come se fossero i singoli bit del valore numerico che vogliamo vedere rappresentato in binario.

Questo spiega anche perché avevi trovato post in cui si parlava di operatori <<  |  >> & ^
Questi operatori, chiamati bitwise, lavorano invece sui veri bit con cui sono memorizzati nella macchina i numeri interi.

Quando il libro parla di shift dei bit in realtà intende shift dei caratteri "0" e "1" all'interno della stringa, non dei "veri" bit del valore numerico di partenza.
« Ultima modifica: Luglio 28, 2013, 11:10 da Claudio_F »

Offline ivelios75

  • python neanderthalensis
  • ****
  • Post: 268
  • Punti reputazione: -3
    • Mostra profilo
Re: iterare al contrario
« Risposta #48 il: Luglio 28, 2013, 12:30 »
Il prossimo esercizio è basato sul shift bit lo faccio o lo salto?

Offline Claudio_F

  • python sapiens sapiens
  • ******
  • Post: 1.157
  • Punti reputazione: 2
    • Mostra profilo
Re: iterare al contrario
« Risposta #49 il: Luglio 28, 2013, 12:57 »
Il prossimo esercizio è basato sul shift bit lo faccio o lo salto?

Lo facci lo facci!  :)

Offline ivelios75

  • python neanderthalensis
  • ****
  • Post: 268
  • Punti reputazione: -3
    • Mostra profilo
Re: iterare al contrario
« Risposta #50 il: Luglio 28, 2013, 13:09 »
Ci saranno molti altri scleri  :P

Offline Giornale di Sistema

  • python sapiens sapiens
  • ******
  • Post: 3.124
  • Punti reputazione: 4
    • Mostra profilo
    • Distillato di Python
Re: iterare al contrario
« Risposta #51 il: Luglio 28, 2013, 13:12 »
Sembrano più dei parti trigemellari!   :devil:

Offline ivelios75

  • python neanderthalensis
  • ****
  • Post: 268
  • Punti reputazione: -3
    • Mostra profilo
Re: iterare al contrario
« Risposta #52 il: Luglio 28, 2013, 18:30 »
Oddio.. il bit shift non ne ha prorpio parlato poi io devo lavorare con i numero (1000110) o con delle stringhe ("1000110")?
Qualche consiglio?

Offline Giornale di Sistema

  • python sapiens sapiens
  • ******
  • Post: 3.124
  • Punti reputazione: 4
    • Mostra profilo
    • Distillato di Python
Re: iterare al contrario
« Risposta #53 il: Luglio 28, 2013, 18:39 »
Qualche consiglio?

Si, due:
  • 1. leggi bene la traccia, quello che stai chiedendo c'è scritto almeno 2 volte entro le prime 2 righe.
  • 2. Nuovo argomento, apri una nuova discussione. Quante volte bisognerà ripetertelo?

Offline ivelios75

  • python neanderthalensis
  • ****
  • Post: 268
  • Punti reputazione: -3
    • Mostra profilo
Re: iterare al contrario
« Risposta #54 il: Luglio 28, 2013, 18:45 »
Mi e venuto un idea di come risolverlo, piu tardi ( se ci riesco ) posto in una nuova discussione il codice per vedere se va bene..