function value = dec2tc(dec, N)
value = dec2bin(mod((dec),2^N),N);
end
function value = tc2dec(bin,N)
val = bin2dec(bin);
y = sign(2^(N-1)-val)*(2^(N-1)-abs(2^(N-1)-val));
if ((y == 0) && (val ~= 0))
value = -val;
else
value = y;
end
end
07 Sep 2007
Rafael Baur
there is a easier way to calculate the two's complement:
twos_comp = dec2bin(mod((value),2^bits),bits);
look at a those two's complement circles then you will see why it works.
07 May 2007
Chad Webb
Handy for 16 bit numbers, but not anything else. It even takes an input for what appears to be the number of bits (i.e. other than 16), but never utilizes it. Good start on a function that could be far more useful.
22 Apr 2007
igi donegor
02 Jan 2007
Shyang-Wen Tseng
It is fascinating to read the author's wit of how to program to get the two's complement of an integer number. It is very useful not only in its usage but also its wit of programing it. Thank you.