No License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Two's Complement for MATLAB

4.0 | 5 ratings Rate this file 28 Downloads (last 30 days) File Size: 617 Bytes File ID: #5485 Version: 1.0

Two's Complement for MATLAB



13 Jul 2004 (Updated )

Calculating two's complement for a decimal number.

| Watch this File

File Information

Calculate two's complement for a signed integer in MATLAB.


This file inspired Two's Complement.

MATLAB release MATLAB 6.5 (R13)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (8)
04 Apr 2016 Dw_N

Dw_N (view profile)

function [data_out] = twos_comp(data, bits)
% twos_comp converts input variable
% "data" to it's twos complement
% value. Input variable "data" is
% expected to be hexadecimal.

data_out = hex2dec(data) ;

if data_out >= 2^(bits - 1)
data_out = data_out - 2^bits ;

Comment only
23 Feb 2012 Robert

Robert (view profile)

How about this...

twos = 1+bitcmp(uint16(-x));

Comment only
30 Jan 2012 duanra

duanra (view profile)

if N is the number of bit
and b an array of integer to convert in signed this operation could be faster

if( b(n) > (2^(N-1)-1))

Comment only
13 Nov 2010 Hassan Naseri

function value = dec2tc(dec, N)
value = dec2bin(mod((dec),2^N),N);

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;
value = y;

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.

Contact us