in the first loop the value of k shuld vary from 0 to j-i.

On Oct 1, 7:26 am, rahul sharma <rahul23111...@gmail.com> wrote:
> You are given two 32-bit numbers, N and M, and two bit positions, i and j.
> Write a method to set all bits between i and j in N equal to M (e.g., M
> becomes a substring of N located at i and starting at j).
> EXAMPLE:
> Input: N = 10000000000, M = 10101, i = 2, j = 6
> Output: N = 10001010100
> _
>
> #include<stdio.h>
> #include<stdlib.h>
> int main()
> {
>     int N,M,i,j;
>     printf("Enter value  of N \n");
>     scanf("%d",&N);
>     fflush(stdin);
>     printf("Enter value  of M \n");
>     scanf("%d",&M);
>     fflush(stdin);
>     printf("Enter value  of i \n");
>     scanf("%d",&i);
>     fflush(stdin);
>     printf("Enter value  of j \n");
>     scanf("%d",&j);
>     fflush(stdin);
>     int a=0,k;
>     for( k=0;k<j;k++)
>     {
>               a= a<<1;
>               a=a|1;
>     }
>     for(k =0;k<i;k++)
>     {
>           a=a<<1;
>     }
>
>     N = N &(~a);
>     printf("value of N is %d",N);
>     for(k=0;k<i;k++)
>     M=M<<1;
>     N=N|M;
>     printf("value of N is %d",N);
>     getchar();
>
> }
>
> isnt it give us wrong mask????
>
> say i=2;
>
> j=6;
>
> it gives mask as(i.e ~a)
>
> 1111111100000011
>
> but i think from 2 to 6 5 0's are needed????plz tell the above prog is
> ok???or not???check by giving any input whose 7thy bit is set...thnx
> in advance

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to