Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <limits.h>
- void main(void)
- {
- int v[]={1,2,31,42};
- int i,a,j,k,sum,controllo,n=sizeof(v);
- unsigned char tmp;
- unsigned char *in,*fin;
- printf("Digita 0 per cambiare l'endiannes dei byte altrimenti 1 per l'endiannes dei bit: ");
- scanf("%d",&controllo);
- in=(char*)v;
- fin=in+(n-1);
- for(i=0;i<n;i++)
- {
- printf("%d ",*(in+i));
- }
- printf("\n");
- for(i=0,n/=2;i<n;i++,in++,fin--)
- {
- tmp=*(in);
- *(in)=*(fin);
- *(fin)=tmp;
- }
- in=(char*)v;
- n*=2;
- if(controllo)
- {
- for(i=0;i<n;i++,in++)
- {
- for(k=0,j=128,a=*(in),sum=0;k<8;k++,j/=2)
- {
- if(a&(1<<k))
- {
- sum+=j;
- }
- }
- *(in)=sum;
- printf("%d ",*(in));
- }
- }
- else
- {
- for(i=0;i<n;i++,in++)
- {
- printf("%d ",*(in));
- }
- }
- printf("\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement