如果我没记错的话,双精度或浮点数分为 3 个部分:符号位、指数和尾数。
当双精度移位时,位是移位变量的整个二进制还是只移位尾数?
您不能转换浮点类型 - 至少在 C# 中。
另一方面,如果你要反复乘以或除以 2,你会看到我之前提到的:在归一化数字的范围内,左移会使指数增加 1,而右移会使指数减少 1。在非正规数内,指数固定为 0,因此尾数必须改变。
编辑:要回答您的评论,如果指数为零且尾数非零,则值表示次正规/非正规数。有关 IEEE 754 的更多信息,请参阅此页面,我有一个关于.NET binary floating point的页面。
据我所知,移位运算符仅在.Net 中的整数上定义。