2012.03.19 03:52, saimhe rašė: >> turi 'bitset', bet dirba tik su uint'ais. > > Oho, visada maniau, kad dirba tik su double mantisės bitais. C = bitset(A, bit) sets bit position bit in A to 1 (on). A must be an unsigned integer or an array of unsigned integers, and bit must be a number between 1 and the number of bits in the unsigned integer class of A (e.g., 32 for the uint32 class). >> O man reikia int'ų. > Su neigiamų skaičių bitais žaisi? Tenka. Teigiamiems veikia B=intN(A), C=uintN(B), > kol A yra leistinose ribose. Tai yra, prieš BITxxx funkcijas konvertuojam > į uint -- garantuotai tilps. > > >> abs( intN*2( number )) -> bitset( uintN*2( number)) -> 0-intN(number)) > > Nematlabinė sintaksė -- kaip minimum dvejetai ne vietoje ir intN nepalaiko > aritmetikos. Tą patį su double įmanoma aprašyt? matlab'inė būtų tokia: sign = 0; numtype = class(tmp); switch numtype case 'int8' tmp_ = uint16(abs(int16(tmp))); case 'int16' tmp_ = uint32(abs(int32(tmp))); case 'int32' tmp_ = uint64(abs(int64(tmp))); otherwise tmp_ = abs(round(tmp)); end if tmp ~= tmp_ sign = 1; end -- ejs