比如F5 0C 00 FD 但是書上的排序出來是:000CFDF5 不知道怎么出來的 求解釋請詳細一點 謝謝
2 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
排序只有兩種1.從大到小排序,2.從小到大排序。
顯然這里是從小到大排序(無符號數),從一個二進制數(把16進制裝換為二進制數)的最高位一次做減法cmp,再根據標志位c的判斷兩個數的大小關系,00<0C<F5<FD,應該是印刷錯誤
特殊情況的:1.指針地址的比較,2.數組標度的比較,這兩種情況比較的是存放內容的地址大小,所以在沒有看到你給的這個結果的問題之前不排除有以上兩種特殊情況的可能性

慕神8447489
TA貢獻1780條經驗 獲得超1個贊
0xF50C00FD 在little-endian下,排序是, FD 00 0C F5. 即 低位在前。
0xF50C00FD 在big-endian下, 排序是, F5 0C 00 FD, 即 高位在前
添加回答
舉報
0/150
提交
取消