to write in bits of register
-
hello people how may i write on a 32 bit register the value
int a=2 in the bit 19 until 31 (31,30,29,28,27,26,25,24,23,22,21,20,19). -
hello people how may i write on a 32 bit register the value
int a=2 in the bit 19 until 31 (31,30,29,28,27,26,25,24,23,22,21,20,19). -
@ kshegunov no CPU register only data register what may i have to do with the bitmaske?
-
@ kshegunov no CPU register only data register what may i have to do with the bitmaske?
@carter_james
You can use it to mask the number:int number = 2; int a = ((number << 19) & 0x7FFC0000);
-
@carter_james
You can use it to mask the number:int number = 2; int a = ((number << 19) & 0x7FFC0000);
@kshegunov i get trouble with that.because the value of number changed.
i want that the value d ont change -
@kshegunov i get trouble with that.because the value of number changed.
i want that the value d ont change@carter_james
I'm sorry I don't understand, what value is changing and why? -
@carter_james
I'm sorry I don't understand, what value is changing and why?@kshegunov kshegunov the fact ist: i want to send server data to a receiver. for example
we have server data like:
int a=2;
int b=3;
int c=0;this three value have to be send to receiver , bevor that they have to be write on a 32bit Register with
certain position.for example value a between bit 19 and 32, value b between bit 0 and 4, value c between bit 7 and 9.
this value after be written in register,they have to be send(3 bytes) to receiver,because of that the value dont have to be change.
after shift operation i search a possibility to get the original value -
@kshegunov kshegunov the fact ist: i want to send server data to a receiver. for example
we have server data like:
int a=2;
int b=3;
int c=0;this three value have to be send to receiver , bevor that they have to be write on a 32bit Register with
certain position.for example value a between bit 19 and 32, value b between bit 0 and 4, value c between bit 7 and 9.
this value after be written in register,they have to be send(3 bytes) to receiver,because of that the value dont have to be change.
after shift operation i search a possibility to get the original value@carter_james
So what's stopping you from masking the relevant bits and shift them accordingly?int a = 2; int b = 3; int c = 0; int data = (b & 0x1F) | ((c & 0x7) << 7) | ((a & 0x1FFF) << 19); //< This would be the "register" you want.
Also an integer is the size of 4 bytes (32 bits), not 3.