Dlaczego32 bit unsigned operacja bitowe JavaScript jest jeden krótki
((255<<24)|(255<<16)|(255<<8)|255)>>>0
równa 4294967295 kiedy
Math.pow(256,4)
równa 4294967296?
Należy zauważyć, że operacja bitowa jest jedna krótka. Dlaczego to?!
Dlaczego32 bit unsigned operacja bitowe JavaScript jest jeden krótki
((255<<24)|(255<<16)|(255<<8)|255)>>>0
równa 4294967295 kiedy
Math.pow(256,4)
równa 4294967296?
Należy zauważyć, że operacja bitowa jest jedna krótka. Dlaczego to?!
Ponieważ zero przyjmuje wartość binarną.
4294967296 to liczba "gniazd", które daje 32 bity, 4294967295 to liczba dziesiętna zajmująca najwyższe miejsce.
Ponieważ pierwsza to 2^32-1, a druga to 2^32? Wiesz, że przy pierwszym "oświadczeniu" ustawiasz 1 pierwsze 32 bity wartości, prawda?
W 32 bitów, pierwszy bit jest "wycenione" 1, drugi 2, trzecia 4 ... The 32th 2147483648. Ich suma wynosi 4294967295 :-)
Zróbmy przykład z 8 bitów.
Math.pow(256,1) == 256
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255.
Mam to, dziękuję. To naprawdę pomaga przypomnieć mi podstawy, o których zapomniałem;) – talentedmrjones
Duh. hehe (uderzenie w czoło) tak, teraz jest to całkiem oczywiste. Dziękuję Ci! – talentedmrjones