2016-03-24 25 views
0

Kullanmakta olduğum programlama hesaplayıcısında, 0x803F hex değeri "byte flip" düğmesine bastığımda 3F80'a dönüşüyor. Ancak 0x803F'un 0xF308 olmasını beklerdim, yani siparişin basit bir şekilde tersine çevrilmesini beklerdim. Baytlık bir kapak, neden siparişin basit bir şekilde tersine çevrilmesini gerektirmiyor?Neden byte çevirme işlemi basit bir ters sıralamayı içermiyor

cevap

4

Bu bitlerin ters olması gerektiğini düşünmektesiniz ama endensellik bitlerin değil baytları ifade eder. 0x803f, iki bayt temsil eder, ilk 80 ve ikincisi 3F'dir. Yani endianness'ın geri 0x3F80

https://en.wikipedia.org/wiki/Endianness#Big-endian

+0

bitsel ters 0xFC için 0x3f değiştirecek olma değeri neden olur. ('0b00111111'' 0b11111100''). OP'nin beyin fırtınası, nibbles'ın (onaltılık hane) tersine çevrilmesini bekliyor. –

İlgili konular