c – 为小循环计数器选择什么数字类型?
发布时间:2020-12-16 05:59:42 所属栏目:百科 来源:网络整理
导读:考虑到int在内存中占用4个字节. 了解我正在寻找的例子: 对于(x = 0; x 10; x) //做一点事 在这个指示下,我知道x的值小于11, 我看到很多代码,大多数人声称x像一个int, 为什么我们不应该或为什么大多数人不像一个短的,甚至像一个char一样声明x? 我以为在原因
考虑到int在内存中占用4个字节.
了解我正在寻找的例子: 对于(x = 0; x <10; x) 在这个指示下,我知道x的值小于11, 我看到很多代码,大多数人声称x像一个int, 为什么我们不应该或为什么大多数人不像一个短的,甚至像一个char一样声明x? 我以为在原因中我发现这个解释,例如: 短s = 5; s在内存中占用2个字节,我所知道的是,编译器考虑5像一个int – >所以这个指令需要更少的内存,但是更多的工作 int i = 5; 这里我拿4个字节,但不需要交谈(5是一个int) – >所以这个指令做的不多,但需要更多的记忆 是我所想的一些原因! 我希望我的问题是清楚的 解决方法
如果你必须在内存中存储数百万个数字,并且每个数字可能在0到11之间,那么你会关心内存.在一个循环中,变量最有可能存储在一个CPU寄存器中,这意味着它是例如x86上的32位,x86_64等等的32位到64位.所有“较小的”整数将被零扩展到32位或64位.
int是简单易读的,很多人使用它.但是,如果您必须担心性能或提示编译器关于大小限制,请使用“(u)int_fast_ *”类型(即uint_fast8_t). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |