Matlab 更改8位整数的最后一位

Matlab 更改8位整数的最后一位,matlab,bit-manipulation,Matlab,Bit Manipulation,我想反转8位整数的最右边的位,例如;如果它是00010111,我想将其转换为00010110。如何执行此操作?使用值为1(以更改最后一位): 您可以指定类型,例如: newvalue = bitxor(value,1,'int8') 值为1时使用(更改最后一位): 您可以指定类型,例如: newvalue = bitxor(value,1,'int8') “8位整数”是什么意思?它是一个包含0和1的双向量吗?或者一个uint8类型。。。?我指的是8位值。例如;对于8,它的8位值是000011

我想反转8位整数的最右边的位,例如;如果它是
00010111
,我想将其转换为
00010110
。如何执行此操作?

使用值为1(以更改最后一位):

您可以指定类型,例如:

newvalue = bitxor(value,1,'int8')
值为1时使用(更改最后一位):

您可以指定类型,例如:

newvalue = bitxor(value,1,'int8')

“8位整数”是什么意思?它是一个包含0和1的双向量吗?或者一个
uint8
类型。。。?我指的是8位值。例如;对于8,它的8位值是000011000,我想通过将最后的0位替换为1或反之亦然,将这些位更改为00001001。您有
x=[0 0 0 0 1 1 1 0]
x=14
?我有x=14。我想替换这个像素的最后一位。那么samgak的答案是什么?你说的“8位整数”是什么意思?它是一个包含0和1的双向量吗?或者一个
uint8
类型。。。?我指的是8位值。例如;对于8,它的8位值是000011000,我想通过将最后的0位替换为1或反之亦然,将这些位更改为00001001。您有
x=[0 0 0 0 1 1 1 0]
x=14
?我有x=14。我想替换这个像素的最后一点。那么samgak的答案呢?谢谢samgak。但用1替换最后的0位是可行的,但当我们用0替换最后的1位时,它不起作用。对此有什么建议吗?我有一个有1和0的位串,还有一组以小数为单位的像素值。我想用每个像素的最后一位替换字符串的一位。我该怎么做?如果要将x的第一位设置为y的第一位,请尝试x=bitor(bitand(bitcmp(1),x),bitand(y,1))。这似乎和你原来的问题不一样,谢谢samgak。但用1替换最后的0位是可行的,但当我们用0替换最后的1位时,它不起作用。对此有什么建议吗?我有一个有1和0的位串,还有一组以小数为单位的像素值。我想用每个像素的最后一位替换字符串的一位。我该怎么做?如果要将x的第一位设置为y的第一位,请尝试x=bitor(bitand(bitcmp(1),x),bitand(y,1))。但这似乎与你最初的问题不同。