我正在阅读以下位置的二进制快速排序:
文字摘要:
对于由随机位组成的全字密钥,程序10.1中的起始点应该是字的最左位或位0.通常,应该使用的起点在应用程序上以直接的方式取决于,关于机器中每个字的位数,以及整数和负数的机器表示。对于图10.2和10.3中的单字母5位密钥,32位机器上的起点为27位。
我对上述文字的疑问是:
答案 0 :(得分:0)
文字摘录令人困惑,因为它不完整。
看来文本假设机器字中的位为大端位编号。在大端比特编号中,第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系列)一样。