VB не кажется лучшим вариантом для битов. Возможно, для этого у вас может быть отдельная сборка в C #, где вы можете просто сделать:
byte b = 255;
sbyte sb = (sbyte) b;
(во время выполнения операции по умолчанию не проверяются в C #)
Или вы могли бы отключить проверку переполнения на уровне проекта VB.
Свойства проекта-> Компиляция-> Параметр расширенного компилятора-> [X] Удаление целочисленных проверок переполнения
А теперь вам просто нужно сыграть! Нет арифметики!
Dim b As Byte = 255
Dim sb As SByte = CSByte(b)