Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Operatore shift

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non ho capito bene la questione ... La domanda qual è esattamente? Cosa c' entrano le divisioni e il resto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #2
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Cosa c' entrano le divisioni e il resto?
    Se scrivo 55, il numero dovrà essere tradotto in 110111 per essere salvato in memoria.
    La conversione intero/binario comporta una serie di divisioni, ovvero:

    55%2 = 1 (salvo bit 1)
    55/2 = 27
    27%2 = 1 (salvo bit 1)
    27/2 = 13
    13%2 = 1 (salvo bit 1)
    13/2 = 6
    6%2 = 0 (salvo bit 0)
    6/2 = 3
    3%2 = 1 (salvo bit 1)
    3/2= 1
    1%2 = 1 (salvo bit 1)
    1/2 = 0

    Quote Originariamente inviata da oregon Visualizza il messaggio
    Non ho capito bene la questione ... La domanda qual è esattamente?

    In termini di prestazioni è meglio se scrivo...
    codice:
    n = 576460752303423488;
    ...oppure se scrivo...
    codice:
    n = (ulong)1 << 59;

    Nel frattempo mi son reso conto che la domanda è stupida:
    se nel codice scrivo n=123 sarà il compilatore a tradurre 123 in binario, pertanto in esecuzione non verrà effettuata nessuna conversione.
    Peraltro la conversione dovrebbe essere da esadecimale a binario
    Ultima modifica di Luciano79; 18-08-2016 a 16:24

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Tutto ciò che scrivi come costante numerica è solo una convenzione, le operazioni fra costanti vengono eseguite a tempo di compilazione quindi non c'è overhead. Ovvero scrivere x=2+2 e scrivere x=4 è la stessa cosa. Lo stesso vale se usi basi diverse da quella decimale.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

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 © 2025 vBulletin Solutions, Inc. All rights reserved.