gpt4 book ai didi

c - 软件公开 C 语言中的位宽

转载 作者:行者123 更新时间:2023-11-30 17:36:08 25 4
gpt4 key购买 nike

我有两个问题:

  1. 是否有任何方法可以指定或限制 C 程序中整数变量使用的位宽度?
  2. 有没有办法监视 C 程序中变量的实际位使用情况?我所说的位使用是指,在某些程序中,当为变量分配寄存器时,并非该寄存器的所有位都用于计算。因此,当程序执行时,我们可以监控寄存器中的多少位在程序执行过程中实际发生了变化吗?

最佳答案

自 1999 年标准起,您可以在 C 中使用固定宽度(或保证至少此多位)类型,请参见例如Wikipedia或任何合适的 C 描述,在 inttypes.h C 头文件中定义(在 C++ 中称为 cinttypes),也在 stdint.h 中 (C)或 cstdint (C++)。

您当然可以检查每个计算的值可能是什么,并相应地限制变量。但除非你严重空间不足,否则我会忘记这一点。在许多情况下,使用“足够大”的数据类型会浪费空间(和计算时间),因为必须将小值转换为自然宽度进行计算,然后再转换回来。谨防premature optimization ,甚至更多地优化错误的代码(测量性能是否足够,如果性能不够,则在深入研究使代码“更好”之前,评估哪些地方值得修改)。

关于c - 软件公开 C 语言中的位宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22801187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com