1
A
回答
0
您可以簡單地將字節與255異或,然後添加一個。
Dim myByte1 As Byte = 5
Dim myByte2 As Byte = 255
Dim MyTwosComplement As Byte
MyTwosComplement = myByte1 Xor myByte2
MyTwosComplement = CByte(MyTwosComplement + 1)
1
您可以將字節轉換爲負值(可以將其轉換爲整數後):
b = CByte(-CSHort(b) And &HFF)
0
您可以用其他的定義爲補:2^n - b
其中n是比特數。
Function TwosComplement(b As Byte) As Byte
Return CByte((256 - b) And &HFF)
End Function
0
如何
Dim b as Byte = 5
Dim twosCompliment As Byte = (Not b) + 1
+0
這不能用Option Strict On進行編譯,並且在'b = 0'時不起作用。 –
0
Option Explicit On
Option Strict On
...
Public Function TwosComplement(value As Byte) As Byte
If value = 0 Then Return 0 Else Return CByte(CByte(value Xor Byte.MaxValue) + 1)
End Function
相關問題
- 1. 字節爲int與二進制補碼
- 2. 獲得負數的二進制補碼的十六進制
- 3. 二進制補碼
- 4. 如何以編程方式獲得二進制數的二進制補碼
- 5. std_logic_vector的二進制補碼
- 6. 十進制數的二進制補碼
- 7. 是字節未簽名的二進制補碼嗎?
- 8. 如何獲得int的32位二進制補碼位模式?
- 9. 7位二進制補碼
- 10. 二進制補碼stm32 c
- 11. 二進制補碼算術
- 12. 二進制補碼錶示
- 13. 二進制補碼查詢
- 14. 16位二進制補碼
- 15. 二進制補碼轉換
- 16. 二進制補碼減法
- 17. 如何只獲得二進制文件的前十個字節
- 18. 帶分數的二進制數的二進制補碼
- 19. 基數的二進制補碼二進制數
- 20. 二進制中最小的二進制補碼
- 21. 複製一個二進制文件32字節每32字節
- 22. 長整數的二進制補碼
- 23. 二進制補碼的Tmax和Tmin
- 24. Verilog中的二進制補碼
- 25. libtommath庫中的二進制補碼
- 26. VERILOG:如何找到一個5位數的二進制補碼
- 27. 如何獲得一個二進制數的反轉(不補全或反轉)
- 28. 用二進制補碼查找二進制數,C
- 29. 在二進制中設置二進制補碼
- 30. 解碼字節間二進制數據
,這不符合選項嚴格工作。 –
最後一行中的CByte將使用Option Strict修復它。 (編輯答案) – xpda
我希望Killakeys能解決它......但無論如何,這對'myByte1 = 0'不起作用。 –