gpt4 book ai didi

c++ - 二进制快速排序起始位位置

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

我正在以下位置阅读有关二进制快速排序的内容:

http://books.google.co.in/books?id=hyvdUQUmf2UC&pg=PA426&lpg=PA426&dq=robert+sedwick+binary+quick+sort&source=bl&ots=kAYK3_LkCg&sig=BjKk4g68h8xG87Vx2vS_TiUKDQY&hl=en&sa=X&ei=uuKzUq4-iY-tB7nZgdgL&ved=0CEYQ6AEwBA#v=onepage&q=robert%20sedwick%20binary%20quick%20sort&f=false

文本片段:

For full-word keys consisting of random bits, the starting point in Program 10.1 should be the leftmost bit of the words, or bit 0. In general, the starting point that should be used depends in a straightforward way on the application, on the number of bits per word in the machine, and on the machine representation of integers and negative numbers. For the one-letter 5-bit keys in Figures 10.2 and 10.3, the starting point on a 32-bit machine would be bit 27.

我对上述文字的问题是:

  • 为什么作者得出这样的结论:5 位 key 在 32 位机器上的起始点应该是第 27 位?

最佳答案

文本摘录令人困惑,因为它不完整。

看起来文本假设机器字内的位采用大端位编号。在大端位编号中,位 0 是字内最左边的位。提示来自短语“单词的最左边位,或位 0。

因此,对于保存在 32 位寄存器中的 5 位数字,该数字的位 0 将保存在机器字的位 27 中,对于大端编号字中的右对齐值。

 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3   machine word
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 bit numbers
+-----------------------------------------------------+---------+
|x x x x x x x x x x x x x x x x x x x x x x x x x x x|0 1 2 3 4| char to sort
+-----------------------------------------------------+---------+

如今,大端位编号在大多数地方并不常见。 IBM POWER/PowerPC 仍然使用大端编号,就像 TMS9900/TMS99000 系列等较旧的大端架构一样。

关于c++ - 二进制快速排序起始位位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697650/

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