Autore Topic: Memorizzare il numero 100000 in soli 3 byte  (Letto 871 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Memorizzare il numero 100000 in soli 3 byte
« il: 27 Settembre 2014, 12:21:47 »
Come memorizzare il numero 100000 (o altro che normalmente avrebbe bisogno di almeno 4 byte) in soli 3 byte ?


La mia soluzione sarebbe questa:

Codice: gambas [Seleziona]
Public Sub Main()

  Dim bb As Byte[] = [&01, &86, &A0]


'...ed in effetti:
    Print bb.Count

End

Ovviamente questa rappresentazione può essere maneggiata consentendo così di utilizzare concretamente il numero 100000.


Avete altre soluzioni ?
« Ultima modifica: 27 Settembre 2014, 19:46:03 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #1 il: 28 Settembre 2014, 19:43:36 »
beh correttamente per rappresentare 100000 occorrerebbero 3 byte. 2^17 sono 3 byte.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #2 il: 29 Settembre 2014, 01:40:19 »
Puoi, dunque, mostrare il codice Gambas per memorizzare il valore 100000 o la sua rappresentazione in soli 3 byte.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #3 il: 29 Settembre 2014, 12:22:51 »
ma 100000 e' binario o decimale?

se e' binario basta 1 byte  :P
se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #4 il: 29 Settembre 2014, 18:46:28 »
ma 100000 e' binario o decimale?

se e' binario basta 1 byte  :P
100000 decimale, ossia "centomila".
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #5 il: 29 Settembre 2014, 19:03:11 »
centomila e' in binario: 1 10000110 10100000 quindi il codice mi sembra ok :D
se corri, morirai stanco (motto degli sniper)

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #6 il: 30 Settembre 2014, 14:37:46 »
Perchè se binario basta un byte?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #7 il: 30 Settembre 2014, 15:47:05 »
Perchè se binario basta un byte?
La mia asserzione è con riferimento a Gambas.
In tal senso l'obiezione di aulin è conferente. Infatti in Gambas per memorizzare in una qualche variabile la rappresentazione binaria di un numero, è necessario utilizzare una variabile di tipo String, che occupa 4 byte di memoria.

Codice: gambas [Seleziona]
Bin(numero) As String
« Ultima modifica: 30 Settembre 2014, 15:57:56 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: Memorizzare il numero 100000 in soli 3 byte
« Risposta #8 il: 30 Settembre 2014, 22:29:12 »
Perchè se binario basta un byte?

io dicevo a livello matematico/scientifico :-)
Un byte sono 8 bit e quindi sono rappresentabili in un byte i numeri da 00000000 a 11111111

:-)

Poi a livello di gestione della memori di gambas non posso esprimermi :D
se corri, morirai stanco (motto degli sniper)