Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-05-2011, 11:41   #1
devil_prince
Junior Member
 
Iscritto dal: May 2011
Messaggi: 17
[C]conversione di un intero da base 10 a base 2

Salve ragazzi, devo fare questo esercizio per l'esame:
Codice:
Scrivere due function C di conversione di un intero positivo (int) da base 10 a base 2 mediante l'algoritmo delle divisioni successive realizzato rispettivamente:
1. usando gli operatori quoziente e resto della divisione intera;
2. usando gli operatori bitwise
Ed ecco quello che ho provato a fare (ho provato prima con gli operatori quoziente e resto della divisione intera):

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define BIT 16
void divisioni_successive (unsigned int, unsigned char[]);
void main ()
{
	unsigned int x;
	unsigned char bit[BIT];
	int k;
	for (k=0;k<BIT;k++)
		bit[k]=0;
	k=0;
	printf("Inserire il numero intero da convertire in binario: ");
	scanf("%d",&x);
    divisioni_successive (x, bit[BIT]);
	puts("Ecco il risultato:\n");
	printf("dec=%d		in binario=");
	for(k=0;k<BIT;k++)
(k%4 == 0) ? printf(" %1u",bit[k]): printf("%1u",bit[k]);
fflush(stdin); getchar();}

void divisioni_successive (unsigned int n, unsigned char bit[BIT])
{   int k=0,j;
	do
	{  bit[k++]=n%2;
		n=n/2;
	}while (n>0);
	for (j=k;j<16;j++)
		bit[j]=0;
}
però il compilatore mi dà errore alla riga della funzione bit[k++]=n%2, dicendo violazione di accesso alla scrittura del percorso.
Consigli? grazie in anticipo
devil_prince è offline   Rispondi citando il messaggio o parte di esso
Old 24-05-2011, 12:49   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Quote:
Originariamente inviato da devil_prince Guarda i messaggi

Codice:
    divisioni_successive (x, bit[BIT]);
Non capisco come sia riuscito a compilarlo. Qui stai passando un solo carattere alla funzione divisioni_successive() mentre si aspetta un array...
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2011, 14:43   #3
devil_prince
Junior Member
 
Iscritto dal: May 2011
Messaggi: 17
Quote:
Originariamente inviato da sottovento Guarda i messaggi
Non capisco come sia riuscito a compilarlo. Qui stai passando un solo carattere alla funzione divisioni_successive() mentre si aspetta un array...
infatti gli passo x e l'array bit[BIT] che ho precedentemente dichiarato, credi sia quello l'errore??
devil_prince è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2011, 19:29   #4
cirano994
Senior Member
 
L'Avatar di cirano994
 
Iscritto dal: May 2009
Messaggi: 1413
Quote:
Originariamente inviato da devil_prince Guarda i messaggi
infatti gli passo x e l'array bit[BIT] che ho precedentemente dichiarato, credi sia quello l'errore??
Non sono bravissimo con la programmazione C (terza superiore), ma che io sappia un Array si passa semplicemente suo nome, quindi:

Codice:
divisioni_successive (x, bit);
nel modo in cui lo hai scritto tu invece, gli passi solamente il valore contenuto in bit[BIT], non tutto l'Array

poi magari mi sbaglio.

Ciao
__________________
PC: Carbide 400r, Corsair TX650M, FX8320, CM 412s, Gigabyte 970-UD3, G.skill Ares 2x4GB, Crucial M500 120GB, Seagate 7200.14 2TB, Seagate 7200.12 750GB, Gigabyte GTX570. Windows 10 Pro
Notebook: Dell Latitude E7450, i5-5300U, SSD 256Gb, 8GB. Windows 10 Pro
LG G3

Ultima modifica di cirano994 : 26-05-2011 alle 19:32.
cirano994 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Alcune varianti dei futuri Samsung Galax...
Il ridimensionamento di OnePlus in Europ...
Il cofondatore di Netflix ha lasciato l'...
ASUS porta in Italia il nuovo Zenbook Du...
Assassin's Creed: Black Flag Resynced, s...
Xbox Game Pass cambierà: tra le n...
I nuovi Surface Pro e Laptop sono vicini...
OnePlus ci riprova con la fascia bassa: ...
La Top 10 delle offerte Amazon del weeke...
XGIMI MoGo 2 Pro a 339€: Google TV con N...
Forum IT & Intelligence 2026: dall'A...
iPhone 16e per la prima volta a meno di ...
Stop Killing Games: Ross Scott convince ...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v