如何在双执行二进制补码,并返回一个双?二进制补上了双
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