[Scilab-users] Bitget for int64/uint64
Jan Åge Langeland
j-lan at online.no
Thu Feb 27 17:44:52 CET 2020
Thank you, Stéphane
So a workaround is:
b =uint64(2)^61+1
bb2=uint64(bin2dec(strsplit(strrev(bitstring(b))))');
bb1=bitget(b,1:64);
bb2(1)-bb1(1)
ans = 1
A bit of a waste to use uint64 to store single bits, but that is what
bitget does:
--> typeof(bb1)
ans = "uint64"
Jan
On 2020-02-27 16:55 PM, Stéphane Mottelet wrote:
> But the problem with bitget remains. The new bitstring is ok:
>
> --> bitstring(a)
> ans =
>
> "0010000000000000000000000000000000000000000000000000000000000000"
>
> --> bitstring(a+1)
> ans =
>
> "0010000000000000000000000000000000000000000000000000000000000001"
>
> S.
>
> Le 27/02/2020 à 16:37, Stéphane Mottelet a écrit :
>> You should generate big ints like this:
>>
>> a=uint64(2)^61
>>
>> S.
>>
>> Le 27/02/2020 à 16:17, JLan a écrit :
>>> I wonder if i have misunderstood the documentation for bitget, or if
>>> this is
>>> a bug? It seems to me that numbers > 2^53 are still not handled
>>> correctly.
>>> --> a=uint64(2^61)
>>> a = 2305843009213693952
>>> --> b=uint64(2^61)+1
>>> b = 2305843009213693953
>>> --> bitget(a,1:64)
>>> ans =
>>> column 1 to 32
>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>> 0 0 0
>>> 0 0 0 0 0 0 0
>>> column 33 to 64
>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>> 0 0 0
>>> 0 0 0 0 1 0 0
>>>
>>> --> bitget(b,1:64)
>>> ans =
>>> column 1 to 32
>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>> 0 0 0
>>> 0 0 0 0 0 0 0
>>> column 33 to 64
>>> 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>> 0 0 0
>>> 0 0 0 0 1 0 0
>>>
>>>
>>>
>>> --
>>> Sent from:
>>> https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/mailinglists.scilab.org/Scilab-users-Mailing-Lists-Archives-f2602246.html
>>> _______________________________________________
>>> users mailing list
>>> users at lists.scilab.org
>>> https://antispam.utc.fr/proxy/2/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/lists.scilab.org/mailman/listinfo/users
>>>
>>
More information about the users
mailing list