我试图负Integer.MIN转换为使用下面的代码long型正值:转换负Integer.MIN正长
long lv = -1 * value_int;
上面的代码工作,除了完美的value_int当值= Integer.MIN_VALUE的。在Integer.MIN_VALUE的情况下,lv的值总是Integer.MIN_VALUE;
下面的代码工作在所有情况下,包括Integer.MIN_VALUE的
long lv = value_int;
lv = -1 * value_int;
任何想法,为什么长期LV = -1 * value_int不Integer.MIN_VALUE的情况下工作吗?
@Oleg这是一个C#问题/答案。虽然在这种情况下,问题可能非常相似,但它不是很好的重复。 –
@ErwinBolwidt你可能是对的。发现另一个https://stackoverflow.com/questions/24755629/int-to-long-assignment虽然也不完美契合。我应该停止浪费时间来标记重复内容并回答明显的内容,如果没有人关心内容的质量,我为什么要这样做? (只是咆哮,不是针对你) – Oleg