git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]# PYTHON equivalents of BITAND and BITSHIFT of MATLAB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On 02/05/2019 06:47, blmadhavan at gmail.com wrote: > Hello Brian, > > Thanks for your suggestion. Which is correct for MATLAB command: typeBits = FCF << -9? > > typeBits = FCF >> 9 > > or > > typeBits = FCF >> -9 > > I mean to ask if it should be -9 or +9? Why don't you just, you know, try them out? Fire up MATLAB or GNU Octave (here I'm using MATLAB R2016a) >> bitshift(1024, -9) ans = 2 >> bitshift(1024, +9) ans = 524288 And fire up Python Python 3.7.1 | packaged by conda-forge | (default, Nov 13 2018, 18:33:04) [GCC 7.3.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> 1024 >> 9 2 >>> 1024 << 9 524288 >>> 1024 << -9 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: negative shift count >>> > > Thanks in advance > Madhavan > > On Wednesday, May 1, 2019 at 11:22:10 PM UTC+5:30, Brian Oney wrote: >> On Wed, 2019-05-01 at 10:35 -0700, blmadhavan at gmail.com wrote: >>> Hi, >>> >>> I have the following line from a MATLAB program with FCF (format: UInt_16) as input: >>> >>> ftype = bitand(FCF, 7) >>> typeBits = bitshift(FCF, -9) >>> subtype = bitand(typeBits, 7) >>> >>> I wrote the following in Python for the above commands: >>> >>> ftype = FCF & 7 >>> typeBits = FCF << -9 ------> Is this correct or FCF >> -9? >>> subtype = typeBits & 7 >>> >>> Can someone help me write the equivalent command in PYTHON? >>> >>> Look forward to your suggestions. >> >> >From the Matlab doc: >> ' >> intout = bitshift(A,k) >> intout = bitshift(A,k,assumedtype) >> Description >> >> example >> >> intout = bitshift(A,k) returns A shifted to the left by k bits, >> equivalent to multiplying by 2k. Negative values of k correspond to >> shifting bits right or dividing by 2|k| and rounding to the nearest >> integer towards negative infinity. Any overflow bits are truncated.?' >> >> So the equivalent would be: >> >>>>> typeBits =?FCF >> 9 >> >> Cheers >> Brian >

- Prev by Date:
**Python 3.73 cannot install py3exiv2** - Next by Date:
**Checking network input processing by Python for a multi-threaded server** - Previous by thread:
**PYTHON equivalents of BITAND and BITSHIFT of MATLAB** - Next by thread:
**python3 html to rtf or doc** - Index(es):