---++ Domande sul PrimoProgetto2002 * ricordatevi di firmare la domanda ---- %TOC% ---- ---+++ Come si fa a modificare il singolo bit della matrice? Ogni riga della matrice di adiacenza va implementata come una singola word.<br><br> Ma come si fa a settare ad 1 un certo bit all'interno di una word messa in memoria centrale?<br> Più in generale, come si fa ad operare (raggiungere, settare) su di un certo bit all'interno di una word?<br><br> La prima cosa che mi è venuta in mente è stata quella di usare le operazioni bit a bit tramite opportune maschere.<br> In C dovrebbe essere più o meno:<blockquote> <code> if(colonna==0){<br> maschera=1; /*in base due è 0000 0000 0000 0000 0000 0000 0000 0001*/<br> word=word|maschera; /*or bitwise: forza ad 1 il LSB*/<br> }<br> else if(colonna==1){<br> maschera=2; /*in base due è 0000 0000 0000 0000 0000 0000 0000 0010*/<br> word=word|maschera; /*or bitwise: forza ad 1 il bit subito successivo LSB*/<br> }<br> //eccetera </code></blockquote> Ma quali sono le istruzioni per operare bit a bit del MIPS? Inoltre dovrei creare 32 maschere (una per ogni colonna) ... mi sembra strano.<br><br> La seconda cosa che mi è venuta in mente è che forse la direttiva <code>.align n</code> del MIPS c'entra qualcosa in tutto ciò. Ma cosa? E come si usa?<br><br> Users.AlbertoRocca [ho messo gli appunti di De Biase] - 28 Mar 2002 Per manipolare i singoli bit di ciascuna riga della matrice dovete appunto usare le istruzioni logiche del MIPS. L'idea di usare maschere è corretta. Leggete con attenzione le istruzioni del MIPS. -- Users.AndreaSterbini - 29 Mar 2002 ---- ---+++ Cos'è un grafo? Vorrei sapere cosa sia un Grafo. -- Users.FabioLombardi - 28 Mar 2002 Un grafo (diretto) è formato da un certo numero di nodi (nel nostro caso non più di 32) e da archi che li collegano. Gli archi sono orientati (frecce) e vanno da un nodo *x* ad un nodo *y*. La matrice di adiacenza è una matrice che ha una riga ed una colonna per ogni nodo. All'incrocio della riga *x* e della colonna *y* c'e' un *1* SE E SOLO SE esiste l'arco ==x->y==. Ho aggiunto un esempio nel testo di PrimoProgetto2002. -- Users.AndreaSterbini - 29 Mar 2002 ---- ---+++ procedura di input Vorrei sapere quali sono le stringhe da visualizzare.<br>"Inserisci il numero di nodi N (tra 1 e 32)" e "Inserisci il numero di archi (tra 1 e N*N)" credo possano andare bene, ma poi?<br>Bisogna fare una cosa di questo tipo:<br>"Inserisci il primo e il secondo nodo dell'arco n. 1"<br>"Inserisci il primo e il secondo nodo dell'arco n. 2" <br>"Inserisci il primo e il secondo nodo dell'arco n. 3"<br>ecc.<br>Oppure che cos'altro? Grazie -- Users.GiuseppeMacario - 07 Apr 2002 Va benissimo -- Users.AndreaSterbini - 08 Apr 2002 ---- ---+++ procedura di input 2 Un vostro collega mi ha chiesto a lezione: Nel chiedere i nodi bisogna usare le lettere dell'alfabeto oppure basta usare i numeri da 1 a n (o da 0 a n-1) ? Nell'esempio ho usato le lettere ma nel progetto *usate i numeri*. -- Users.AndreaSterbini - 12 Apr 2002 ---- ---+++ istruzioni shift Qual'è la differenza tra lo shift LOGICO e quello ARITMETICO? Quando il manuale delle istruzioni parla di variabili intende comunque dei registri o dei valori numerici (fare riferimento all'istruzione -SLLV shift left logical VARIABLE-) -- Users.MarcoMeini - 25 Apr 2002 http://twiki.dsi.uniroma1.it/twiki/view/Architetture2/SpimFaq2001#Shift_logical_o_arithmetic_ -- Users.GiuseppeMacario - 25 Apr 2002 ---- ---+++ struttura del programma Io ho organizzato il programma chiedendo gli archi e creando la matrice di adiacenza, poi stampa la matrice appena costruita e poi fa' la chiusura transitiva e stampa la matrice chiusa, quindi in output prima ci sarà la matrice non chiusa e poi dopo una riga la matrice chiusa, va bene così? E in più, ci possono essere delle procedure secondarie, che servono per le procedure principali? -- Users.FabioMendicino - 27 Apr 2002 Così va benissimo, visto che potro' controllare sia l'input che l'output. Certo! usate tutte le procedure secondarie che ritenete necessarie! -- Users.AndreaSterbini - 29 Apr 2002 ----
This topic: Architetture2/MZ
>
DateEScadenze
>
PrimoProgetto2002
>
DomandePrimoProgetto2002
Topic revision: r11 - 2002-04-29 - AndreaSterbini
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback