读书人

小弟我想问一下32数据异或和64数据异或

发布时间: 2013-12-02 12:00:40 作者: rapoo

我想问一下32数据异或和64数据异或时间为什么消耗的时间相差不大
CnetOS系统中。

unsigend long long int temp_long_long1 = 0x0f0f0f0f, temp_long_long2 = 0xf0f0f0f0f;
for(int i =0 ; i < 10000000;i++) {
temp_long_long =temp_long_long1^temp_long_long2;
}
unsigned int temp2 = 0x0f0f, temp1 = 0xf0f0f0f0f;
for(int i =0 ; i < 10000000;i++) {
temp =temp1^temp2;
}

分别查看着两个程序执行的时间,我发现时间几乎相同,
就我个人感觉,32数据的按位异或时间应该比64为数据的按位异或时间块很多,
不知道为什么,求各位解惑。 C++,异或,时间,比较,数据位数
[解决办法]
如果CPU是64位的, 那就应该是一样快啊.
如果CPU是32位的, 那64位运算才会慢.
[解决办法]
引用:
Quote: 引用:

如果CPU是64位的, 那就应该是一样快啊.
如果CPU是32位的, 那64位运算才会慢.

哦,这样,与CPU位数有关,那就是说CPU内部对于按位异或操作是一个并行化的操作吗?在64位CPU中64个位上的数据都同时完成,对吗?

是的

读书人网 >C语言

热点推荐