Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: bit e Byte

  1. #1

    bit e Byte

    Ieri mi sono trovato a discutere di un argomento piuttosto elementare eppure che mi ha messo in difficoltà: perché un byte è stato definito come 8 bit? E' stata una scelta arbitraria o c'è una qualche convenienza?
    Da quanto leggo su internet, sembra che il numero di bit sia stato incrementato per includere via via più caratteri. Però il fatto che si prediligano le potenze del 2, mi fa pensare che qualche convenienza nei calcoli ci deve essere.

    Buona giornata!

  2. #2
    il sistema di numerazione binario (cioè a base 2) è la base del funzionamento di un computer.
    Il microprocessore è composto da migliaia di transistor, i quali possono avere solo due stati, che vengono "letti" come 0 o 1. (acceso/spento, alto voltaggio/basso voltaggio... ecc)
    Questa variabile si chiama bit (Binary digit) ed è la più piccola informazione che un computer può rappresentare, qualsiasi altro tipo di informazione deve essere perciò una combinazione di bit -> da qui le potenze di due.
    Un bit è troppo piccolo quindi per conservare un carattere o un numero o qualsiasi altra cosa in realtà ci serva: ci puoi mettere solo un bool.
    Storicamente un byte era il numero di bit utilizzati per codificare un singolo carattere di testo in un computer, da quel momento poi le architetture dei computer si sono basati su questo, ed è anche diventato un'unità di misura delle capacità della memoria. A quei tempi bastavano 8 bit per rappresentare i caratteri (glie ne bastavano 256: gli americani non hanno caratteri accentati).
    Quindi credo sia semplicemente per questo che un byte sia 8 bit: una convenzione

  3. #3
    È sostanzialmente una convenzione che dipende da diversi "accidenti storici", spinta anche dal fatto che 8 bit per byte è un numero in genere abbastanza "comodo" (256 caratteri sono un charset abbastanza esteso, un byte di 8 bit si può visualizzare in maniera comoda come due "nibble" esadecimali, per far riferimento ad un bit in un byte basta un intero da 3 bit, ...)
    http://en.wikipedia.org/wiki/Byte#History
    http://programmers.stackexchange.com...are-eight-bits
    Ultima modifica di MItaly; 24-10-2013 a 17:47
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Quindi è stata una scelta piuttosto arbitraria, mi sembra di capire.
    Però non è singolare il fatto che salvo rare eccezioni sono stati scelti sistemi a 4, 8, 16, 32 e 64 bit, ossia tutte potenze di 2?

  5. #5
    tutto dev'essere per forza una potenza di due tel'ho spiegato prima il perchè
    l'unica arbitrarietà sta nel fatto che il byte sia di 8 bit e non (per dire) di 16 o di 32

  6. #6
    a dire il vero non l'ho spiegato in modo diretto... Ciò che ho scritto è stato solamente
    Storicamente un byte era il numero di bit utilizzati per codificare un singolo carattere di testo in un computer, da quel momento poi le architetture dei computer si sono basati su questo
    se tu ti basi sul fatto che un'informazione piccola, quale può essere un carattere, occupi 8 bit, crei tutto come un multiplo di questa informazione (tipo: quante piccole informazioni posso inserire? 10-> 10 byte, 20->20byte) essendo 8 una potenza di due, allora tutte le architettture da allora in avanti si sono sviluppate ssendo potenze di due di conseguenza.
    Se negli anni 60 quando fu creato il codice ASCII si fosse deciso che un byte fosse costituito da 6 bit oggi le architetture sarebbero multiple di 6 bit e quindi non più potenze di due

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Veramente l'ASCII è stato realizzato su 7 bit ...

    La codifica BCD a 6 bit e la EBCDIC a 8 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Veramente l'ASCII è stato realizzato su 7 bit ...
    ad onor del vero 7 bit erano quelli "standard" e poi nell'ultimo bit ogni nazione (o gruppo culturale, o non ricordo bene cosa) inservia i simboli che più gli servivano. Per esempio gli europei ci inserirono le lettere accentate, che nell'ASCII americano non c'erano.
    Questo creò un sacco di problemi e bla bla bla. Esiste un articolo molto interessante sulle codifiche dei caratteri e su come si sono evoluti nella storia, se lo ritrovo ve lo linko

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quote Originariamente inviata da MegaAlchimista Visualizza il messaggio
    ad onor del vero 7 bit erano quelli "standard"
    E che c'è di vero o falso? La codifica ASCII (né standard né altro, semplicemente ASCII) era ed è su 7 bit.

    La codifica "ASCII estesa" si è servita dell'ottavo bit per rappresentare altri caratteri (grafici e propri di varie lingue).

    nell'ASCII americano non c'erano.
    Non esiste un "ASCII americano" ma un "ASCII" ed è una codifica ben determinata nella storia (A sta per American ma non è per questo che lo puoi chiamare "ASCII americano" ...)

    Oggi c'è UTF-8
    Ultima modifica di oregon; 24-10-2013 a 19:48
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    ti assicuro che posso farlo perchè so per certo che l'8vo bit aveva differenti codifiche nelle varie zone del mondo, e per questo l'ASCII risultò non essere più, di fatto, uno standard. Purtroppo non ricordo la fonte dalla quale attinsi queste informazioni.
    Ma UTF-8 UTF-16 sono nate proprio per questo problema.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.