VB 常量变量赋值总是溢出

发布于 科技 2024-07-08
7个回答
  1. 匿名用户2024-01-30

    如果直接分配 65536,则不会遇到此问题。

    因为 vb 默认为 256 作为整数,所以在计算 256*256 时会先算为整数,计算结果超出整数范围 -32768 +32767,所以会造成溢出。

    如果将数字 256 定义为增长整数,则不会出现此问题。

    该过程更改为: const a as long = 256& *256&private sub command1_click()= a

    end sub

    dim a as long

    private sub command1_click()a = 256& *256&

    aend sub

    我也会给你一点知识。

    数字类型:整数:表达式方法为%,如5%。

    长整数:表示为 &,如 5&

    Single:表示为,例如,5!

    Double:表达式为 ,例如,5

  2. 匿名用户2024-01-29

    是的,字符串类型,你是一个长数字类型。 它需要转换。

    可以改成以下内容,希望没记错。

    cstr(a)

  3. 匿名用户2024-01-28

    试试这个,我测试的那个通过了。

    private sub command1_click()dim a as long

    a = 256

    a = a * 256

    aend sub

  4. 匿名用户2024-01-27

    当 VB 进行加、减、乘、除运算时,最终结果中存储的位数是根据运算第一步的位数确定的。 这与最终赋值的变量类型无关,因为这发生在计算期间(即赋值之前)。

    所以 16384*4*

    由于 16384 是整数,VB 会先假设运算结果也是整数,所以分配了两个字节的内存空间来存储运算结果,然后开始计算 16384 * 4,结果是 65536,超出了整数范围,会立即报“溢出”,后面的就不再计算了。 16384 * 2 和 2 * 16384 也是如此,两者都表示“溢出”,因为计算结果超出了整数范围。

    同样,4 也是整数,所以 vb 也是一个预定的等待计算结果的双字节“席位”。 但是,当运算达到4*时,由于涉及到浮点运算,VB会自动将运算结果的类型调整为双倍,即“seat”一下子扩容到8个字节,无论运算怎么进行,都不会溢出。

    如果希望 16384 * 4 * 没有溢出错误,可以执行以下操作:

    16384& *4 * '强制指定 16384 的长度(4 个字节),以便重新计算不会溢出。

    或 16384*'不要以为4是一样的,前者是整数,后者是浮点数。 当然,vb 会自动将其更改为 4,这意味着 double

  5. 匿名用户2024-01-26

    溢出(错误 6):

    当分配超出目标限制时,将发生溢出。 此错误的原因和解决方法如下:

    赋值、计算或数据类型的结果的转换太大,无法在变量类型允许的范围内表示。

    将值分配给足以表示值范围的类型的变量。

    对属性的赋值超出了该属性可以接受的最大值。

    请确保分配适合属性的范围。

    尝试在计算中使用一个数字,并且该数字被强制为整数,但结果超出了整数的范围,例如:

    dim x as long

    x = 2000 * 365 '错误:溢出若要解决此问题,请键入数字,如下所示:

    dim x as long

    x = clng(2000) *365

    有关详细信息,您可以选择相关项目并按 F1 查看帮助。

  6. 匿名用户2024-01-25

    计算过程的中间结果超出了数据类型值范围。

  7. 匿名用户2024-01-24

    这个 16384 * 4 * 他先计算了 16384 * 4 = 65536,然后溢出。 而4*16384,先计算4*=2,再计算2*16384,不会溢出。

相关回答
20个回答2024-07-08

是你不帮你。 我以前很好。 你不给任何分数。

13个回答2024-07-08

注意斜杠'\'这都是小问题,只要你仔细检查,学会消除问题,自己解决起来就很容易了。 >>>More

10个回答2024-07-08

echo off

for /f "delims=" %%a in ('dir/b/s c:\windows\temp') do copy "%%a" d:\ >>>More

4个回答2024-07-08

出现此问题时,请查看是否正在初始化对象或变量,例如: >>>More

14个回答2024-07-08

ubound(array)

ubound 函数。 >>>More