Junior — Middle
Izskaidrojiet baitu attēlošanas principu little-endian secībā datoru atmiņā.
sobes.tech AI
Atbilde no AI
Mazā-endian secībā mazāk nozīmīgais skaitļa baitis tiek glabāts zemākajā atmiņas adresē, bet vislielākais — augstākajā. Piemēram, 0x12345678 32 bitu skaitlis atmiņā tiks izvietots kā baitu secība: 0x78, 0x56, 0x34, 0x12.
Tas nozīmē, ka, lasot baitus no zemākās adreses, vispirms iegūstam skaitļa mazāk nozīmīgo baitu. Šāda secība ir ērta dažām operācijām un tiek izmantota x86 arhitektūrās.
Go valodā, lai demonstrētu, kā ierakstīt skaitli little-endian formātā:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
var num uint32 = 0x12345678
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, num)
fmt.Printf("% x\n", buf) // Izvade: 78 56 34 12
}