如何在雙執行二進制補碼,並返回一個雙?二進制補上了雙
Q
二進制補上了雙
0
A
回答
2
如果你正在嘗試做兩個的補充內部比特表示的雙倍,可以使用BitConverter
class。
喜歡的東西:
double x = 12345.6;
Int64 bits = BitConverter.DoubleToInt64Bits(x);
bits = ~bits + 1;
x = BitConverter.Int64BitsToDouble(bits);
我不知道你爲什麼會想這樣做,雖然...
-1
您可能需要轉換爲長,然後執行二進制補碼和投退:
double x = 1245.1;
long l = (long)x;
l=~l; l++; /* complement followed by + 1 */
x = (double)l;
我沒有測試這一點,但希望它可以讓你在正確的軌道上。
編輯:既然你無法從雙投至長用比特表示,那麼你可能需要做一些事情,如:
double x = 1234.5;
ulong l;
unsigned char * d = (unsigned char *) &x;
l = (ulong)(*d);
l=~l; l++;
d = (unsigned char *) &l;
x = (double)(*d);
同樣未經測試...
相關問題
- 1. 二進制補碼
- 2. 16位二進制補碼
- 3. 二進制補碼算術
- 4. 二進制補碼轉換
- 5. 二進制補碼減法
- 6. std_logic_vector的二進制補碼
- 7. 在二進制中設置二進制補碼
- 8. 將十六進制轉換爲二進制和16位二進制補碼
- 9. 字節爲int與二進制補碼
- 10. 二進制補碼範圍在c
- 11. 二進制補碼0到1,1,0到
- 12. ASM問題,二進制補碼
- 13. 長整數的二進制補碼
- 14. 二進制補碼的Tmax和Tmin
- 15. libtommath庫中的二進制補碼
- 16. Ç - 轉換爲二進制補
- 17. 瞭解二的補碼
- 18. 瞭解二進制代碼
- 19. 如何將補碼從二進制補碼轉換爲
- 20. 有符號整數到二進制補碼十六進制
- 21. 獲得負數的二進制補碼的十六進制
- 22. 表示二進制補碼的十六進制值
- 23. Python中十六進制數的二進制補碼
- 24. 將十進制轉換爲二進制補碼,溢出
- 25. One的二進制補碼8位有符號的大小,以二進制
- 26. 如何以編程方式獲得二進制數的二進制補碼
- 27. 雙數的二進制表示
- 28. 雙刪除(?)在二進制搜索樹
- 29. 十進制到二進制(二進制)
- 30. 二進制文件沒有在osx上雙擊執行
你不知道。二的補碼在雙精度(超出比特級別)上沒有意義。邏輯上,你可以應用減號運算符:'-d' – 2011-03-21 18:59:31
在double上的二進制補碼對我來說沒有多大意義;什麼是應用程序? – 2011-03-21 18:59:50
我想你應該先了解數字(位串)是如何表示的。 http://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html的類型double(雙精度)對象被表示在一個完全不同的方式不是整數(二進制補碼)。這就是爲什麼你的問題沒有意義 – JeffE 2011-03-21 19:35:12