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.

Reply via email to