ha il valore che gli compete per la sua posizione. Così ad esempio: 1001011 = 64 + 8 + 2 +1 = 75, 111010 = 32 + 16 + 8 + 2 = 58, eco. (l2). Estremamente semplice risulta la somma, perchè la somma di due cifre non può essere che 0 + 0 = 0, 0 + 1=1, 1+0=1, o infine i + l = due cioè =10 cioè =« 0, porto 1 ». Applicando la regola alla somma dei due numeri sopra scritti come esempio si ha 75= 1001011 58= 111010 somma = 10000101 = 128 + 4 + 1 = 133 che è effettivamente 75 + 58. Maggiore ancora la semplificazione per il prodotto, che si riduce a una somma con semplice spostamento (esattamente come nel sistema usuale, quando il moltiplicatore non ha altre cifre che zeri ed uni). Così ad es., il prodotto 58x 133, ossia 111010 x 10000101, si eseguisce sommando limo 111010.. molo......... (ossia 59 x 1) ( » 58 x 4) ( » 58x128), il che dà (che vale proprio: 1111000100010 58 x 133 = 7714 = 4096 + 2048 +1024 + 512 + 32 + 2). È facile immaginare quanto più adatto risulti tale sistema per venire tradotto in ordini del tipo accendere o spegnere questo tubo elettronico quando ogni cifra sia rappresentata da un tubo che acceso indichi uno e spento indichi zero (1S). Un difetto che il lettore avrà notato sta nella lunghezza che i numeri assumono in tale sistema, lunghezza pili che tripla che in quello usuale (14); è facile ovviarvi, ad es., riducendola a un quarto, come praticato per la lettura dei dati e la scrittura dei risultati nelle menzionate SEAC e SWAC. Basta introdurre 16 segni o cifre per indicare i numeri da 0 a 15, e quindi sostituire ogni gruppo di 4 cifre binarie con uno di tali segni in base 16. Nella SWAC i segni sono le cifre usuali fino al 9 e poi u, v, w, x, y, z per indicare 10, 11, ..., 15; per evitare confusioni indicheremo in grassetto le cifre in base 16 ed avremo quindi: 0 = 0000=0 1 = 0001=1 2 = 0010=2 3 = 0011 = 3 4 = 0100= 4 5 = 0101 = 5 6 = 0110=6 7 = 0111 = 7 8 = 1000 = 8 9 = 1001=9 10 = 1010 = u 11 = 1011 = v 12= 1100 = vt 13 = 1101 = x 14 =1110= y 15 = 1111= z e, riprendendo gli esempi precedenti 75 = 1001011= (0100) (1011)= 4y 58 = 111010= (0011) (1010)= 3u 133 =(1000) (0101)= 85 7714= (0001) (1110) (0010) (0010)= ly22 (dove, si badi, le parentesi servono solo a staccare i successivi gruppi di quattro cifre binarie; naturalmente, i caratteri tondo, corsivo, grassetto, indicano sempre numeri in base, dieci, due, sedici). Resta il problema di tradurre nella forma binaria, in entrata, i dati usualmente disponibili in forma decimale, e di ritradurre i risultati, in uscita, dalla forma binaria in quella decimale per l’uso corrente. Non è un problema difficile: c’è solo l’aggravio di tali operazioni in più, e la scelta se incorporarle nella macchina stessa o farne oggetto di due separate elaborazioni, una preliminare e un’altra postuma. Si può menzionare del resto, pur giudicandola azzardata, l’ipotesi di alcuni specialisti: che il sistema binario, per i vantaggi che presenta in tali tecniche la cui applicazione andrà sempre più estendendosi, finirà per soppiantare il sistema decimale anche nella vita pratica. E allora tale problema della traduzione cesserebbe di esistere. Una soluzione intermedia è quella della SSEC: vi è conservato il sistema decimale, ma ogni cifra decimale viene espressa secondo il sistema binario. Ogni cifra richiede quattro tubi, e in corrispondenza ai suoi dieci valori possibili utilizza dieci delle sedici combinazioni (di modalità acceso e spento) cui essi possono (lai-luogo (nel precedente prospetto: si utilizzano le combinazioni corrispondenti ai segni 0-9 e non quelle corrispondenti a uvwxyz). Si evita allora la traduzione, ma si sfrutta solo in parte la semplificazione del sistema binario. E si spreca anche qualcos’altro, come penserà chiunque riflettendo sul fatto che con quattro tubi si indicano 10 numeri inutilizzando le altre sei combinazioni (e quindi, con 40 tubi, numeri fino a IO10 anziché a 1610 = 240 = IO10 100 2 = IO40x°-3 = IO12 circa). Si perde in capacità, diremmo usualmente; si perde in quantità d’informazione direbbe Norbert Wiener, che di tale nozione ha lumeggiato il profondo significato dal punto di vista della cibernetica. 5. Quantità d’informazione Il fatto di rappresentare un numero nel sistema che richiede il minor quantitativo di tubi elettronici diviene particolarmente importante quando dispositivi dello stesso tipo o di tipo analogo vadano impiegati per la registrazione nell’organo della memoria dei numeri che occorre tenervi immagazzinati. Ed è ovvio che, pur variando eventualmente i dispositivi tecnici, non deve variare il sistema in cui i numeri vengono rappresentati se vogliamo che la loro immissione ed estrazione dalla memoria abbiano luogo nel modo più immediato. Il problema dell'uso più redditizio dei dispositivi di memoria viene a coincidere con quello, presentatosi in altri campi, di definire opportunamente una quantità d’informazione, basandosi sul numero di domande (comportanti le due sole risposte sì o no) occorrenti per dirimere una questione. Se la questione comporta n alternative, si può sempre giungere alla conclusione con m domande ove m = log ni log 2 (ar-rot. all’intero superiore); se le domande si formulano (12) Lo stesso vale naturalmente per numeri frazionari: sarà ad es. 0,1 = 112, 0,01 = 1/4, 0,001= 1/8, 0,101= 5/8, ecc. (13) Si badi che, qui e in seguito, la locuzione « numero di tubi » va presa in senso puramente convenzionale. Il numero è doppio se per ogni cifra si usa una coppia di tubi a « flip-flop », e altri tubi in più occorrono per funzioni accessorie, a seconda dei tipi di macchina. Considerazioni approfondite sulla traduzione in dispositivi elettronici delle operazioni su numeri in base due si trovano in una nota di uno dei progettisti della UNIVAC: Robekt F. Shaw : Arith-metic Operations in a Binary Computer, « Rev. Sci. Instruments », 1950. (14) Il rapporto (asintoticamente) è quello tra log 10 e log 2, ossia 1/0,30103 = 3,32.