English 中文(简体)
分类
原标题:Integer concatenation c
  • 时间:2011-11-03 03:01:09
  •  标签:
  • c

I m试图压缩2 uint32_t,并回去1 uint64_t。 我的方法

uint64_t concat_int1_int2 (uint32_t int1, uint32_t int2) {
  uint64_t concatenated = int1;
  return concatenated << 32 | int2;
}

这似乎非常缓慢(我需要做大约1 000 000次,需要大约6分钟)。 两个问题,为什么比值的转变需要这么长时间(似乎是一个限制步骤),任何人是否建议以更快的方式这样做?

最佳回答

你这样做的方式是正确的。 该功能可帮助<条码>。 很可能,你的表现问题在于,你没有向我们表明。

问题回答

Your solution is near optiomal, it can t be much faster. Marking the function as inline may help a very little, but will not make much difference. I made a test here in my machine using your code, it took 10ms to run 1,000,000 iterations of it. Your speed problem is somewhere else.

为什么是临时性的? 仅将32个轨道点推入适当的记忆地点。 类似:

 *((uint32_t*) concatenated) = int1;
 *(((uint32_t*) concatenated)+1) = int2;

现在,我向各位提出这一想法,我注意到,在这一职能中,斜线1 和斜线2 相互接连在一起。 因此,如果他们按照正确的顺序重新行事,只是把一个参数推到一个int64——你想要做什么! Yay Pointers!





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签