相关疑难解决方法(0)

ac/c ++编译器是否将两次幂值的常量除法优化为移位?

问题说明了一切.有谁知道以下......

size_t div(size_t value) {
    const size_t x = 64;
    return value / x;
}
Run Code Online (Sandbox Code Playgroud)

...优化成?

size_t div(size_t value) {
    return value >> 6;
}
Run Code Online (Sandbox Code Playgroud)

编译器会这样做吗?(我的兴趣在于GCC).是否有这样的情况,有些情况不是吗?

我真的很想知道,因为每当我写一个可以像这样优化的师时,我会花费一些心理能量,想知道一秒钟的宝贵事迹是否会浪费在一个转变就足够的分裂上.

c c++ optimization gcc

40
推荐指数
3
解决办法
1万
查看次数

地址空间除以8

我的问题是关于处理地址空间的。

我有两个十六进制的地址空间:0x7fffff09和0x7fffff08。

我怎么知道它们是否可以被8或8字节对齐整除?就像检查在C或C ++代码中的样子一样。我知道您通常将mod用作常规数字,如果没有余数,那么就知道它是可整除的。

编辑:地址空间可以是__8,__ 16,__ 32(8位,16位,32位)

c virtual-address-space address-space

1
推荐指数
1
解决办法
1167
查看次数