matlab file -- d2b clc; close all; a1 = xlsread('D:blog\y.xlsx'); %a1 = 106; a = a1; n = 9; % number bits for integer part of your number m = 9; % number bits for fraction part of your number % binary number k = zeros(size(a1,1),size(a1,2)); for j = 1:size(a1,2) for i=1:size(a1,1) if a(i,j)>0 x = fix(rem(abs(a(i,j))*pow2(-(n-1):m),2)); y = x*pow2((m+n-1):-1:0).'; else x = fix(rem(abs(a(i,j))*pow2(-(n-1):m),2)); y = twos_comp(m,n,x) ; end k(i,j)=y; end for i=1:size(k,1) if k(i,j)==262144 k(i,j)=0; else k(i,j)=k(i,j); end end end xlswrite('D:blog\y_bin.xlsx',k) matlab function -- twos_comp function [y1] = twos_comp(m,n,x) % compute the 2's complement number for 16 bit short % Written by Tal Levinger, 13/07/04 % x = [0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]; x1 = ~x; y = x1*pow2((m+n-1):-1:0).'; y1 = y + 1; end matlab file -- b2d clc; close all; clear all; A = xlsread('D:blog\output.xlsx'); for i =1:1024 A1(i,:) = A(2*i-1,:); end a1 = A1; n = 8; % number bits for integer part of your number m = 10; % number bits for fraction part of your number p = m+n;% Total bit-width s = zeros(1024,1); for j = 1:1024 b = de2bi(a1(j,1),p) ; s1= 0; s2= 0; if (b(18) ==1) y = 2^p - a1(j,1); b1 = de2bi(y,p) ; for i = p:-1:(m+1) s1 = s1 + b1(i)*2^(i-(m+1)); end for i = 1:m s2 = s2 + b1(i)/2^((m+1)-i); end s(j,1) = -(s1 + s2); else for i = p:-1:(m+1) s1 = s1 + b(i)*2^(i-(m+1)); end for i = 1:m s2 = s2 + b(i)/2^((m+1)-i); end s(j,1) = s1 + s2; end end xlswrite('D:blog\output_decimal.xlsx',s) matlab code wrintext.m clear all; close all; y = xlsread('D:blog\y_bin.xlsx'); fid=fopen('input_vector.txt','wt'); fprintf(fid,'%d\n', y); fclose(fid);