如何将一个实数转化为一个12位的2进制数? ( 积分: 30 )

  • 主题发起人 主题发起人 carrie4002
  • 开始时间 开始时间
C

carrie4002

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将一个实数转化为一个12位的2进制数?
比如,一个实数为1.00264,如何将它转化为12位的二进制数呢?
 
找本计算机组成原理看看,那上边有详细计算规则。
 
有哪位高手可以关注我的提问!
 
看下面的代码。实数的转化我就不会了。哪位大虾可以帮忙?

function octtobin(i:integer):string; //将10进制数转化为二进制数
var //但被转化的数如果是实数就不会了。
j:integer;
s:string;
begin
j:=i; s:=' ';
while j>=2 do
begin
if (j mod 2)=1 then
begin
s:='1'+s;j:=j div 2;
end
else
begin
s:='0'+s;j:=j div 2;
end;
end;
s:=chr(ord('0')+j) + s;
octtobin:=s;
end;


function BintoOct(k:string):integer; //将二进制转化为10进制数
var
i,j,t:integer;
s:char;
begin
t:=1;
j:=length(k);
j:=0+(ord(k[j])-ord('0'))*t;
for i:=length(k)-1 downto 1 do
begin
s:=k;t:=t*2;
j:=j + ((ord(s)-ord('0'))*t);
end;
bintooct:=j;
end;
 
连数制转换都不会,少来这里问,让人瞧不起俺们搞Delphi滴
 
其实你可以选择不说话。
请大虾关注!
 
www.baidu.com
 
12个比特位根本表示不了实数,如何转换之?

此题没解!
 
谢谢李翔鹏。
 
后退
顶部