Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429

    [C/C++]Operatori bit-a-bit di spostamento

    Studiando gli operatori di bit-a-bit sono arrivato ai due operatori di spostamento, quello di spostamento a dx >> e quello di spostamento a sx <<.
    Sulla logicam seconda la qule funzionano l'ho capita, ed anche che grazie a loro è possibile effettuare veloci moltiplicazioni, nel caso di spostamento a sx, o veloci divisione, nel caso di spostamento a dx, per 2.
    Ma se volessi effettuare una moltiplicazione per 3 ad esempio, sarebbe impossibile con gli operatori di spostamento, giusto???
    Poi il libro dice che gli operatori di scorrimento sono utilissimi per decodificare l'input di un dispositivo esterno, come per esempio un dispositivo digitale/analogico e per leggere informazioni di stato.
    Ma come possono permettere ciò???
    Potreste illustrare un veloce semplice algoritmo che dimostri questo?

  2. #2
    Ci riscriviamo anche qua!!

    grazie a loro è possibile effettuare veloci moltiplicazioni, nel caso di spostamento a sx, o veloci divisione, nel caso di spostamento a dx, per 2.
    Ma se volessi effettuare una moltiplicazione per 3 ad esempio, sarebbe impossibile con gli operatori di spostamento, giusto???
    E' un po' la stessa cosa che si fa con i numeri in base 10:
    se spostiamo a sinistra, cioè se aggiungiamo uno zero, moltiplichiamo per 10; se invece spostiamo a destra, cioè tagliamo l'ultima cifra, dividiamo per 10.
    Ed è vero quello che dici, queste operazioni possono solamente dividere/moltiplicare per la base, in binario 2 e nel sistema decimale 10.

    Poi il libro dice che gli operatori di scorrimento sono utilissimi per decodificare l'input di un dispositivo esterno, come per esempio un dispositivo digitale/analogico e per leggere informazioni di stato.
    Ma come possono permettere ciò???
    Veramente non capisco a cosa si riferisca il tuo libro.
    Probabilmente parla di redirezione, ma mi sembra moooolto strano, perché in questo caso gli operatori << e >> hanno un senso totalmente diverso da quello di shift. Mi sbaglio?
    Se è così cmq vuol dire che puoi reindirizzare l'input/output da un file al tuo prog e dal prog ad un file.
    Come esempio scrivi un semplice prog che stampa qualcosa sullo schermo e compilalo. Poi apri il prompt del DOS ed eseguilo in questo modo:
    nomeprog.exe >> output.txt
    Il prog non visualizzerà niente sullo schermo, ma vedrai comparire nella stessa directory del prog un file chiamato output.txt dove è contenuto quello che il programma avrebbe dovuto stampare a schermo.


    ps: che libro usi?

  3. #3
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    Già ci risentiamo

    Cmq facendo come dici tu, mi crea soltanto un file .txt vuoto nella cartella in cui si trova il .exe, niente di più, cioè nn un .txt con dentro scritto ciò che io stampo con l'eseguibile, cmq così in effetti ci spostiamo da quello che vorrei sapere, perchè la cosa è specificata per C++ e non per Dos.
    Cmq il libro che uso è lo Shildt, quarta edizione

  4. #4

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.