Xhack
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Xhack

Un forum dedicato all'hacking
 
IndiceIndice  PortalePortale  CercaCerca  Ultime immaginiUltime immagini  RegistratiRegistrati  Accedi  

 

 qualche chiarimento sui binari, le basi

Andare in basso 
5 partecipanti
AutoreMessaggio
darkjoker
Admin
Admin
darkjoker


Numero di messaggi : 813
Data d'iscrizione : 30.07.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyGio Set 27, 2007 7:08 pm

intanto scusate se si capiscono poco li schemi, ma non riesco a farli stare dritti, se volete, poi vi mando un .txt con su scritto lo schema per bene, tra l'altro, non so se questo è il forum piu adatto per parlare, ma visto che c'entra anche con l'elettronica il sistema binario, lo posto qui

vorrei chiarire i numeri binari, ovvero come funzionano, come passare da un numero a base decimale a uno a base binaria,
perchè tutto questo interesse per i numeri binari? semplicemente perchè tutti i dati memorizzati sul nostro pc vengono letti in binario.
intanto, cos'e un numero a base 10?
li usiamo tutti giorni; un'esempio è 154, ovvero, trasformato in potenze di 10:
Codice:

1 x 10^2
5 x 10^1
4 x 10^0
||||||||
ovvero
1 x 100+
5 x 10 +
4 x 1  =(qualunque numero che ha come esponente 0 da come risultato 1)
-------
154
spero che abbiate capito, ho scomposto 154 in 100 + 50 + 4, elevando i numeri 1,5,4 per delle potenze di 10
la stessa cosa avviene nei numeri a base binaria, ovvero:
Codice:

100110    ovvero
1 x 2^5 ----> 32 + (1 * 32 = 32)
0 x 2^4 ----> 00 + (0 * 16 = 0)
0 x 2^3 ----> 00 + (0 * 8 = 0)
1 x 2^2 ----> 04 + (1 * 4 = 4)
1 x 2^1 ----> 02 + (1 * 2 = 2)
0 x 2^0 ----> 00 = (0 * 1 = 0)
            ------
              38
provate, sulla calcolatrice di windows o da qualche altra parte a trasformare 100110 da binario a decimale, proprio 38, wow Very Happy
abbiamo quindi capito, spero, come passare da un numero binario a uno decimale, e se volessimo fare il contrario?
io questa regola l'ho mandata giu a memoria (cosa che odio perchè preferisco arrivare a una formula ragionando), comunque, ecco qua come passare da un decimale a un binario:
Codice:

38 | 0
19 | 1
9  | 1
4  | 0
2  | 0
1  | 1
chi di voi è gia alle superiori e ha fatto un poco di informatica saprà cos'ho fatto, ma spiego comunuqe:
Codice:


      prendo il numero decimale
            |
            |
         divido per 2
            |
            |
        se ottengo un quoziente
            /\
                       /  \
                       /    \
                 pari    dispari
                          scrivo      scrivo
             0      1
         -------------
            |
            |
         il numero è < 1?
            |
            |
            |----- SI continuo il ciclo
            |
            NO
      si ribalta il risultato ottenuto (es se avevo 1010010001 ottengo: 1000100101)   
                                                          <---------
                             si capovolgono
                             in questo senso

tutto chiaro?
non chiedetemi come mai si fa cosi perche non lo so però funziona ed è questo l'importante.

ma cosa significano 0 e 1?
0: potenziale basso
1: potenziale alto

quindi in un'interruttore, se esso è su on allora verrà inviato il segnale 1 (quindi la luce è accesa); se è su off viene inviato il segnale 0 (la luce è spenta).
alla base del sistema a base 2 c'è tutto cio che riguarda l'elettronica, ovvero processori, calcolatrici, cellulari, radio, modem, etc) quindi ho reputato utile fornirvi qualche spiegazione in piu;
per fare queste trasformazioni (binario <--> decimale) esiste la calcolatrice di windows, ma non vi fa male sapere ste cose.

naturalmente esistono anche i sistemi ottali, esadecimali, etc...
diamo solo un'occhiata veloce a quest'ultimo, che vi servirà nel campo informatico:
Codice:

decimale         esadecimale         binario
0            0            0000
1            1            0001
2            2            0010      
3            3            0011
4            4            0100
5            5            0101
6            6            0110
7            7            0111
8            8            1000
9            9            1001
10            A            1010
11            B            1011
12            C            1100
13            D            1101
14            E            1110
15            F            1111
come trasformare un numero da esadecimale a binario o viceversa?
basta prendere un numero, per esempio

A5F3
e trasformarlo nei suoi corrispondenti in binario, quindi

A = 1010
5 = 0101
F = 1111
3 = 0011

Si concatena tutto e si ottiene il numero desiderato: 1010010111110011; e per tornare indietro???
prendiamo un numero binario a caso, come 10101110101010101010101
si divide in gruppi da 4 (partendo dall'ultima cifra e continuando: 101-0111-0101-0101-0101-0101
quindi si trasforma nei corrispondenti: --------------------------> 5 7 5 5 5 5

semplice, no???

ultime cose: se trovate un numero e non sapete in che base è scritto guardate alla sua destra, dovreste troverete una lettera:

b -> binario
o -> ottale
d -> decimale
h -> esadecimale

quindi trovando un numero 3435656632342d e vi viene il dubbio se è decimale, ottale o esadecimale, saprete, grazie alla d, che si tratta di un nume


Ultima modifica di il Mar Ott 02, 2007 1:42 pm - modificato 2 volte.
Torna in alto Andare in basso
darkphantom
hack-member
hack-member
darkphantom


Numero di messaggi : 398
Data d'iscrizione : 03.09.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyGio Set 27, 2007 8:58 pm

che figo! non sapevo dell'esistenza di quel metodo! bè, al classico queste cose non le insegnano...
Torna in alto Andare in basso
BlackLight
Moderatore
Moderatore
BlackLight


Numero di messaggi : 277
Età : 37
Data d'iscrizione : 22.08.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyVen Set 28, 2007 3:55 pm

Ottimo lavoro :wink:
Ricordate ovviamente che il metodo dei resti va bene per la conversione in qualsiasi sistema di numerazione, non solo binario Very Happy
Torna in alto Andare in basso
http://blacklight.gotdns.org
jackhack
spammer
spammer
jackhack


Numero di messaggi : 89
Localizzazione : TORINO
Data d'iscrizione : 18.09.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyVen Set 28, 2007 6:17 pm

grande ma c'è solo un lato positivo noi alle superiori non facciamo ancora informatica Sad Sad Crying or Very sad comunque è interessante !!
Torna in alto Andare in basso
The_Nano93
membro
membro
The_Nano93


Numero di messaggi : 104
Età : 1016
Localizzazione : Da qualche parte nell'universo....
Data d'iscrizione : 28.09.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyMer Ott 03, 2007 11:14 pm

Bravo darkjoker, hai spiegato molto bene!
Ho messo un programma in C++ nel settore programmazione che trasforma da decimale a binario, seguendo i metodi di darkjoker.


Ultima modifica di il Ven Ott 05, 2007 5:52 pm - modificato 1 volta.
Torna in alto Andare in basso
darkjoker
Admin
Admin
darkjoker


Numero di messaggi : 813
Data d'iscrizione : 30.07.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyGio Ott 04, 2007 6:28 pm

ti conviene cancellare il messaggio qua sopra messo e creare un nuovo topic su programmazione... cosi lo si vede meglio, eh? Wink
Torna in alto Andare in basso
The_Nano93
membro
membro
The_Nano93


Numero di messaggi : 104
Età : 1016
Localizzazione : Da qualche parte nell'universo....
Data d'iscrizione : 28.09.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyVen Ott 05, 2007 5:29 pm

ok!
Torna in alto Andare in basso
darkphantom
hack-member
hack-member
darkphantom


Numero di messaggi : 398
Data d'iscrizione : 03.09.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyVen Ott 05, 2007 8:37 pm

già, penso penso che ci darò un'occhiata, sembra bello il c++...
Torna in alto Andare in basso
darkjoker
Admin
Admin
darkjoker


Numero di messaggi : 813
Data d'iscrizione : 30.07.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyMer Nov 07, 2007 7:09 pm

vi scrivo qui un metodo abbastanza semplice per trasformare velocemente da decimale a esadecimale e viceversa... ecco:
se abbiamo un numero in esadecimale, per esempio 64, intanto scriviamolo 0x64 per far capre che è un esadecimale.. ma anche se lasciamo 64 non cambia...
prendiamo la prima cifra, 6.
moltiplichiamola per 16 (base esadecimale, 0 -> 15) e sommiamogli 4... viene fuori 100..
vediamo se e giusto sulla tavola o facendo il calcolo normale...
PERFETTO, tutto quadra.. vediamo ora come passare da decimale a esadecimale, sempre con un metodo simile a quello spiegato prima, ma eseguendo le operazioni inverse... ecco come:
d = n - x / 16
allora sono le decine, come lo è 6 per 64, vediamo che dobbiamo sottrargli un certo numero, ovvero x, che pero non conosciamo, e poi dividere il tutto per 16..
facciamo l'esempio di prima, prendiamo 100:
100 - x / 16
in questo caso x = 4, ovvero le unità di 64.. e poi dividiamo tutto per 16, cosi otteniamo 6, ovvero le decine, che affiancate a 4 (unita) ci danno il numero in esadecimale...
in questo caso pero sapevamo gia il valore di x.. e se avessimo per caso il numero 118, come lo mettiamo in hex?
è un po'piu incasinato, ma si puo fare...
118 -> qual'è il numero piu vicino (inferiore di 118 o =)divisibile per 16?
trovato quel numero e diviso per 16 ottengo le decine, per le unita invece basta sottrarre da 118 il numero < o =a 118 divisibile per 16... a parole è un casino, vediamo i fatti...
118 / 16 = 7,375 -> non va bene, pero prendiamo il 7 come riferimento per trovare il multiplo di 16 piu vicino a 118
16 * 7 = 112 -> è un numero intero! abbiamo trovato le nostre decine!
118 - 112 = 6 -> togliendo dal numero di partenza il numero < di 118 divisibile per 16 otteniamo le unita... 6.
avviciniamo ora 7 a 6 e..
100 = 0x76
sarà vero?
verifichiamo.. SI! ce l'abbiamo fatta Very Happy
questo procedimento epr qualcuno sarà piu lungo ma io uso di fisso questo perche mi viene piu comodo, comunque è meglio sapere, no? Wink

ciao ciao!
ah, vediamo anche come passare da binario a decimale.. stesso procedimento solo che invece di dividere/moltiplicare per 16 lo facciamo per 2.. vediamo, va:

abbiamo il numero 10 (binario):
prendiamo l'uno (decine) e moltiplichiamo per 2:... 2
sommiamo a 2 le unità: 0.. 2 + 0 =...
...
...
2 (Wow!)
infatti 10 binario corrisponde a 2 decimale..
processo inverso:
dividiamo 2 per il numero piu vicino (ma < o =) divisibile per 2.. ehi, ma 2 è divisibile per 2!(ammazza quante scoperte in pochi minuti)
quindi 2 / 2 = 1 (e queste sono le decine)
ora si sottrae da 2 la differenza tra il numero di partenza e quello che abbiamo ottenuto che sia divisibile per due (il 2 stesso):
2 - 2 = 0
avviciniamo lo 0 all'1.. 10 (spettacolare Very Happy !!)
quindi 2 = 10b, chiaro ,no?
solo che questo procedimento possiamo farlo solo con il 2 e 3 senza controllare la tavola perche:
prendiamo per esempio il 13:
13 / 2 = 6.5
prendiamo come riferimento il 6
ora ci serve il binario di 6 (ed è qui che serve la tavola)che è 110
ora facciamo
13 - (6 * 2) = 1
quidni accostiamo 110 a 1 e otteniamo:

13 = 1101b
avete visto che e possibile ma si perde solo tempo.. decidete voi che tecniche usare, io vi mostro soltanto quelle disponibili:
questa tecnica è valida con tutte le basi, basta sostituire a 16 (o 2) il numero della base, esempio se io volessi trasformare un numero in base ottale metterei 8 al posto di 16, no?
con questo ho finito.. ciao
Torna in alto Andare in basso
The_Nano93
membro
membro
The_Nano93


Numero di messaggi : 104
Età : 1016
Localizzazione : Da qualche parte nell'universo....
Data d'iscrizione : 28.09.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptySab Nov 10, 2007 12:38 am

non lo sapevo questo metodo...
però è interessante!
Torna in alto Andare in basso
darkjoker
Admin
Admin
darkjoker


Numero di messaggi : 813
Data d'iscrizione : 30.07.07

qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi EmptyGio Nov 15, 2007 7:35 pm

lo so Wink
Torna in alto Andare in basso
Contenuto sponsorizzato





qualche chiarimento sui binari, le basi Empty
MessaggioTitolo: Re: qualche chiarimento sui binari, le basi   qualche chiarimento sui binari, le basi Empty

Torna in alto Andare in basso
 
qualche chiarimento sui binari, le basi
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» [HELP]Mi serve qualche aiuto
» Basi numeriche
» [C] Basi di packet injection
» le basi... proprio essenziali del javascript

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Xhack :: Other :: Elettronica-
Vai verso: