Kurtis Rader, peterGo thank you for the answers. I probably need to learn more about RPC protocols, for now I can only expand acronym. But this point with ignoring leading zeros is clear enough. And probalby more "elementary (and stupid)?" questions is comming.
Kamil poniedziałek, 30 sierpnia 2021 o 03:02:51 UTC+2 peterGo napisał(a): > > > K, > > For a finite, unsigned binary number, ignoring leading zeros, how many > binary digits (the length in bits) are needed to represent a number? > > Peter > On Sunday, August 29, 2021 at 4:07:41 PM UTC-4 kziem...@gmail.com wrote: > >> Thank for explanation, but I don't understand "But how many bits do you >> need to represent 0? The question is malformed as there are no set bits in >> the used representation of 0.". Why this is malformed questions? When I >> think of coding 1, I think about thaking one bit with 1 inside and when it >> goes to 0, I would take one bit with 0 inside. >> >> K. >> piątek, 27 sierpnia 2021 o 07:14:45 UTC+2 Volker Dobler napisał(a): >> >>> On Thursday, 26 August 2021 at 22:17:55 UTC+2 kziem...@gmail.com wrote: >>> >>>> Another topic. I needed to check package "math/bits" (learning about Go >>>> can lead us in such places quite fast) and I'm confused about function >>>> "Len(x uint) int". In its description we have ( >>>> https://pkg.go.dev/math/bi...@go1.17 >>>> <https://pkg.go.dev/math/bits@go1.17>) >>>> BEGINNING >>>> Len returns the minimum number of bits required to represent x; the >>>> result is 0 for x == 0. >>>> END >>>> I have no problem with using function that says 0 can be encoded in 0 >>>> bits, but it is still odd. Maybe it is connected to something done under >>>> the hood, about which I don't know a thing? Does anyone know why this >>>> choose was made? >>> >>> >>> No, the description doesn't say that 0 can be encoded in 0 bits: >>> It says that Len(0) returns 0. >>> If you want Len to be a total function you must return a value for every >>> input. >>> For most inputs the value is strictly determined by what the functions >>> does >>> (number of bits needed to represent), so Len(9) == 3. But how many bits >>> do you need to represent 0? The question is malformed as there are no >>> set bits in the used representation of 0. One could have declared >>> "Len(0) returns -42" >>> but this makes no sense at all. Having Len(0)==0 results in >>> Len(a) <= Len(b) if a < b without having to invent totally arbitrary >>> values for Len(0). >>> >>> You probably should not overinterpret Go's documentation. >>> This is not lyric. "the result is 0 for x == 0" has no hidden meaning. >>> >>> V. >>> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/2a0bfdbf-cfe4-48c7-8157-9dab915bce38n%40googlegroups.com.