Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h> // printf
- #include <stdlib.h> // malloc, free
- #include <string.h> // memset
- //#include <math.h> non serve
- //#include "FUNZIONI.h"
- // typedef nel .h?
- typedef enum bool { false, true } bool;
- void converti_binario(int num, int *a, size_t size){
- for(size_t i = 0; i < size; i++, num >>= 1)
- a[i] = num % 2;
- }
- // set a zero un array
- int* pulisci(int *a, size_t size){
- return memset(a, 0, size);
- /*
- for(size_t i = 0; i < size; i++)
- a[i]=0;
- */
- }
- // stampa_array( array, lunghezza array)
- // stampa al contrario TODO ???
- void stampa_array(int a[], int size){
- for(int i = size - 1; i >= 0; i--)
- printf("%d", a[i]);
- }
- int main(){
- int number; // Non serve = 0 se poi lo sovrascrivi
- int l; // refactor L --> l
- int *v1, *v2;
- do{
- printf("Inserisci a quanti bit convertire: ");
- scanf("%d", &l);
- if(l == 0)
- printf("ATTENZIONE BIT NULLI\n");
- else if(l < 0)
- printf("ATTENZIONE IL VALORE E' NEGATIVO\n");
- } while(l <= 0);
- // Inizializza dopo aver letto l
- // Non castare la malloc
- // Usa il nome invece del tipo in sizeof
- v1 = /*(int*)*/ malloc(sizeof(/*int*/*v1) * l);
- v2 = malloc(sizeof(*v2) * l);
- printf("\nInserisci il numero decimale da convertire: ");
- scanf("%d", &number);
- // serve ?
- /*
- pulisci(v1, l);
- pulisci(v2, l);
- printf("\nVerifico pulizia di memoria a video:\n");
- stampa_array(v1, l);
- printf("\n");
- stampa_array(v2, l);
- printf("\n\n");
- */
- converti_binario(number, v1, l);
- printf("Il numero convertito in binario e':\n");
- stampa_array(v1, l);
- free(v1);
- free(v2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement