delphi byte类型算术运算  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi byte类型算术运算


byte:8位无符号数,与int型可以直接运算,但要注意byte型的最大值是255,运算可能产生越界问题。西现举例说明,建一个工程,button事件中写如下语句:

procedure TForm1.btn1Click(Sender: TObject);
var i:Byte;

begin
for i := 1 to 255 do
begin
ShowMessage('正常循环');
end;
for i := 1 to 256 do
begin
ShowMessage('没有循环');
end;
end;

编译,delphi会报错,因为256超过了byte型的最大长度。

procedure TForm1.btn1Click(Sender: TObject);
var i:Byte;

begin
for i := 1 to 255 do
begin
ShowMessage('正常循环');
end;
maxbuffer := 256;
for i := 1 to maxbuffer do
begin
ShowMessage('没有循环');
end;
end;

编译不会报错,正常运行,但是运行后并不会弹出提示‘没有循环’,就是说delphi在编译时不会去判断一个变量的值,但是运行时实际上已经地址越界了。


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.047621965408325 seconds