Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568

    [C] Traduzione di un numero da decimale a binario

    Come faccio a fare un programma che inserito un numero decimale attraverso l'uso degli opratori logici mi restituisca il numero in binario.
    Linguaggio C
    Ciao

  2. #2
    Non puoi farlo con gli operatori logici: devi usare le divisioni intere e l'operatore resto.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Beh questo lo so ma il mio libro mi da questo esercizio specificando di usare gli operatori logici

  4. #4
    Beh, allora puoi anche fare così:

    Se fai lo and binario tra il numero da convertire e 2^n, ottieni zero se l'ennesimo bit è spento e <>0 se è acceso.

    Così puoi creare la visualizzazione binaria.
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Utente di HTML.it L'avatar di AR64S-H
    Registrato dal
    Jun 2002
    Messaggi
    568
    Scusa ma non ti seguo puoi spiegarti meglio

  6. #6
    Hai presente l'operatore di and binario? Mi sembra che si tratti di && ...

    se a è il numero che ti è stato dato, e ne fai lo and binario con 2 elevato alla n ottieni 2 elevato alla n se il bit corrispondente nel numero originario era acceso.

    Esempio

    1111 = 15
    0100 = 2^2 = 4

    1111 && 0100 = 0100 = 4 = 2^2

    quindi il bit numero due (i bit si conteno da destra a partire da zero) dovrà essere acceso.

    Se ora crei un ciclo così:

    a=numero da convertire
    n=0
    while 2^n<a
    if a && (2^n) == (2^n)
    stringa = "1" + stringa
    else
    stringa = "0" + stringa
    endif
    n+=1
    endwhile

    e ora stampi stringa ottieni la visualizzazione della stringa binaria.

    Chiaro?
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Se no shifti a destra e fai l`and sempre con 1.

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.