c - 在进行分配操作时,将其类型转换为比实际更长的数据类型时,c 中的类型转换如何表现
问题描述
这里 tv_sec 是 4 字节长,但它正在将其类型转换为 8 字节变量。变量 't' 可能在 8 个字节中有一些垃圾值。该值将如何填充剩余的 4 个字节。
{
long long t;
gettimeofday(&tv,NULL);
t = (long long)(tv.tv_sec) * 1000 ;
// Some Operation
}
解决方案
强制转换会导致转换。转换数值类型时,如果新类型可以表示旧类型中的值,结果就是那个值,不变。
因此,当转换为更广泛的数字类型时,C 实现会生成表示输入值所需的任何位。
推荐阅读
- stripe-payments - 创建自定义帐户和法语协会时的 business_type
- asp.net - ASP.Net Core Blazor 页面如何知道在异步数据 getter 方法返回后刷新其内容?
- node.js - Vue CLI 安装问题
- python - 使用 Python 将多个 CSV 转换为 TSV
- node.js - 如何在茉莉花中测试 SSM getParameter 方法?
- reactjs - 选择最后一项后如何自动关闭反应选择菜单?(空列表)
- google-apps-script - 是否可以使用 GAS 在 Google Data Studio 中设置过滤器?
- nlog - 是否可以使用 NLog 根据大小和时间归档日志
- python - 如何使用 Ebpf 阻止文件打开?
- javascript - 由于没有称为类的 dom 属性,类绑定实际上如何在 Angular 引擎盖下工作?