社区
Delphi
帖子详情
为什么不相等??
hongqi
2001-09-05 02:34:04
TRec=Record
T1: short;
T2: BYTE;
T3: DWORD;
end;
这两种方法为什么不等,没对齐吗?
intTostr(sizeof(TSOURCE_IDENTITY));//=8
intTostr(sizeof(short)+sizeof(Byte)+sizeof(DWord));//=7
...全文
57
4
打赏
收藏
为什么不相等??
TRec=Record T1: short; T2: BYTE; T3: DWORD; end; 这两种方法为什么不等,没对齐吗? intTostr(sizeof(TSOURCE_IDENTITY));//=8 intTostr(sizeof(short)+sizeof(Byte)+sizeof(DWord));//=7
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hongqi
2001-09-05
打赏
举报
回复
I see, thanks!
By default, the values in a structured type are aligned on word or double-word boundaries for faster access
chechy
2001-09-05
打赏
举报
回复
因为Delphi会将数据结构进行对齐,一般以4个字节为单位。对齐后数据访问速度会加快。
如果不想使用对齐,可以这样:
TRec = packed record
...
end;
qiangsheng
2001-09-05
打赏
举报
回复
我认为是结构体里面有一个入口标志,或结尾标志,才会多一个字节。
zzutlink
2001-09-05
打赏
举报
回复
估计第一个里面是那种字符串的那种以'\0'结尾,所以多一个字节
float型数据不能比较
相等
?为什么?
早就听说float型数据不能比较
相等
或不等,只能比较大小,也一直在程序中避免做
相等
的判断。但是一直不知道具体原因,直到最近做了一个详细的调查。
matlab之浮点数精度
相等
的问题: 在循环中为什么不
相等
?
也就是说matlab认为他们不
相等
. 后来才知道计算机在运算浮点数的时候总是有误差的. 虽然误差很小很小. 所以这时候不可以用==来评价了, 而是要看两者的差是否小于一个很小的值: abs(-0.2-i) < eps eps是浮点
_005_Java试题_为什么说hashCode值
相等
,两个对象不一定
相等
?(重写了equals和hashCode方法)
为什么说hashCode值
相等
,两个对象不一定
相等
?(重写了equals和hashCode方法) import java.util.HashSet; import java.util.Iterator; import org.junit.Test; public class Customer { private String ...
JS-两个空数组为什么不
相等
?
控制台的打印结果是什么?答案是:false。 接下来看解析: 原始值的比较是值的比较: 它们的值
相等
时它们就
相等
(==) 它们的值和类型都
相等
时它们就恒等(===)。 对象和原始值不同,对象的比较...
为什么HashCode相同的两个对象可能不
相等
?
查看这一篇文章
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章