📄 int2bin.m
字号:
function b=int2bin(x,n)
% Usage: b=int2bin(x,n)
% integer to binary conversion, 0<=x <= 2^n,
% sign-magnitude representation with sign bit on the left
% b is a 1 by n vector of 0 and 1, with MSB at b(1)
% copyright 1996 by Yu Hen Hu
% Last modification: 2/23/96
% Allow x to be a vector. Then b will be a dim(x) by n matrix
% modified 11/25/97
% to allow n not specified!
x=diag(diag(x)); % convert x into a column vector
b=-(sign(x)-1)*0.5.*[x~=0]; % if x = 0, sign bit is 0 by default
x=abs(x); % work on magnitude only from now on.
if nargin==2,
if max(x) >= 2^n,
error(' x must be smaller than 2^n')
end
elseif nargin==1,
n=max(floor(log2(abs(x)))+1);
end
idx=diag(2^(diag([n-1:-1:0])));
for j=1:n
tmp = x - sign(x)*idx(j).*[x~=0];
% if x > 0, tmp = x - 2^(n-j), if x < 0, tmp=x+2^(n-j)
b= [b [tmp >= 0].*[x~=0]];
x=tmp;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -