菜鸟提问:VS2003里 256*256*256*256发生溢出? 算出来竟然是负值!为什么啊? 谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 超过了Int 类型所允许的最大值。 这个应该是数值的默认类型造成的,你把运算的结果赋值给一个LONG类型的试试,应该能好用。在未指定类型的时候,系统取的是参加运算中长度最大的数据类型或级别最高的类型,256超过了一个字节表示的数值,所以上升到一个INT类型如果将它赋值一个指定的类型,那么结果就会向指定的类型会隐式转换…… long i = 256L * 256 * 256 * 256;在vs2005中,在checked模式下,256 * 256 * 256 * 256;是不能通过编译的。 ThreadSharp(ThreadSharp V2006)---如果将它赋值一个指定的类型,那么结果就会向指定的类型会隐式转换……实际上是在运算完才进行赋值的,即使被赋值方有足够的宽度,如果操作数不先进行类型转换,也不能正确完成运算 谢谢大家的回复,可我试了把值赋给double型和long型还是不行啊!错误是: 在检查模式下,运算在编译时溢出 溢出了。256l*256*256*256即可第一个数是long型的,迫使后面的运算采用long operator*( long, long )运算。而如果不在第一个数后面加上l,则一直用int operator*( int, int )运算,即使溢出亦不会隐式类型转换,因为不存在long operator*( int, int )。即使最后扔到一个long型的变量中,也是溢出之后的事情了。即 implicit operator long( operator*( operator*( operator*( 256, 256 ), 256 ), 256 ) ) textbox如何可以显示不可见字符 如果delegate目标方法的参数多于4个,不能用System.Linq.Expressions.Expression.GetActionType() 怎么办? 求书 排班算法,很现实,哪个单位都会用得着,高手相送5000分 C# listBox的小问题 DropDownList问题 vs自带水晶报表未知的查询引擎错误 C# DataGrid生成序号列问题 datetime的问题 DataSet的操作的问题 怎样做一个无刷新的Tabstrip和multipage? 帮帮忙,挺着急的
你把运算的结果赋值给一个LONG类型的试试,应该能好用。
在未指定类型的时候,系统取的是参加运算中长度最大的数据类型或级别最高的类型,256超过了一个字节表示的数值,所以上升到一个INT类型
如果将它赋值一个指定的类型,那么结果就会向指定的类型会隐式转换……
在vs2005中,在checked模式下,256 * 256 * 256 * 256;是不能通过编译的。
---如果将它赋值一个指定的类型,那么结果就会向指定的类型会隐式转换……
实际上是在运算完才进行赋值的,即使被赋值方有足够的宽度,如果操作数不先进行类型转换,也不能正确完成运算
错误是: 在检查模式下,运算在编译时溢出