Sobes.tech
Junior — Middle

გთხოვთ ახსნათ ბაიტების გამოსახვის პრინციპი little-endian წესით კომპიუტერის მეხსიერებაში.

sobes.tech AI

პასუხი AI-სგან

Little-endian կարգում, թվի ամենափոքր նշանակության բայթը պահվում է հիշողության ամենացածր հասցեում, իսկ ամենամեծը՝ ամենաբարձր։ Օրինակ, 0x12345678 32-բիթանոց թիվը հիշողության մեջ կկազմակերպվի որպես բայթների հաջորդականություն՝ 0x78, 0x56, 0x34, 0x12։

Սա նշանակում է, որ երբ կարդում ենք բայթները ամենացածր հասցեից, առաջինը ստանում ենք թվի ամենափոքր նշանակության բայթը։ Այս կարգը հարմար է որոշ գործողությունների համար և օգտագործվում է x86 ճարտարապետություններում։

Go լեզվում, ցույց տալու համար, թե ինչպես գրել թիվը little-endian ձևաչափով՝

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) // Արդյունք՝ 78 56 34 12
}