Platforms to show: All Mac Windows Linux Cross-Platform

Back to MemoryBlock class.

MemoryBlock.AndBitsMBS(Second as memoryblock, Dest as memoryblock=nil) as memoryblock

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Performs a And on the bits in the memoryblock.
Example
dim m1 as MemoryBlock = NewMemoryBlock(20)
dim m2 as MemoryBlock = NewMemoryBlock(20)
dim m3 as MemoryBlock = NewMemoryBlock(20)

m1.Int32Value(0)=&b10000001
m2.Int32Value(0)=&b10000000

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

call m1.AndBitsMBS(m2,m3)

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

Dest is first and second memoryblock combine with a bitwiseand.
And first and second memoryblock are filled with the difference between them.

If dest is nil, a new memoryblock is created. You can speed up processing with reusing the same memoryblock in iterations. If you pass a memoryblock, the plugin does not check the size of the memoryblock.

Returns nil on any error. For example if source is a memoryblock without a known size.

See also:

MemoryBlock.AndBitsMBS(Second as memoryblock, Mask as Integer, Dest as memoryblock=nil) as memoryblock

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Performs a And on the bits in the memoryblock.
Example
dim m1 as MemoryBlock = NewMemoryBlock(20)
dim m2 as MemoryBlock = NewMemoryBlock(20)
dim m3 as MemoryBlock = NewMemoryBlock(20)

m1.Int32Value(0)=&b11110001
m2.Int32Value(0)=&b11110000

const mask = &b11001111

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

call m1.AndBitsMBS(m2,mask,m3)

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

The mask is always 8 bit. Use the &b notation to specify it.
Dest is first and second memoryblock combine with a bitwiseand.
And first and second memoryblock are filled with the difference between them. Only bits set int he given mask are used.

If dest is nil, a new memoryblock is created. You can speed up processing with reusing the same memoryblock in iterations. If you pass a memoryblock, the plugin does not check the size of the memoryblock.

Returns nil on any error. For example if source is a memoryblock without a known size.

See also:

The items on this page are in the following plugins: MBS Util Plugin.


The biggest plugin in space...