![]()
mi genera dei bit sballati tipo se gli metto in input il numero 5 in binario è : 0000 0101
estrai i 4 bit meno significativi...
e il risultato dell' output:
1010
codice:void estrai_bit_meno_sign(short *n, short k,unsigned char bit[n_len]) {unsigned short mask=~((~0u)<<k); short i; i=n_len-1; do { bit[--i]=*n&1; *n=*n^mask; } while(*n !=0 && i>=0); if(i>=0) { do{ bit[--i]=0; }while(i>=0); } for(i=0; i<k; i++){ printf("%u",bit[i]); } }

Rispondi quotando