PASCAL进制转换问题

输入一个不大于32767的正整数N,将它转换成一个二进制数。例如:输入:100输出:1100100... 输入一个不大于32767的正整数N,将它转换成一个二进制数。
例如:
输入:100
输出: 1100100
展开
 我来答
iloveyew
2008-05-07 · TA获得超过1349个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:157万
展开全部
十进制转二进制
function mod_num(n1,n2:integer):integer;//取余数
begin
result:=n1-n1 div n2*n2
end;
function reverse(s:String):String;//取反串
Var
i,num:Integer;
st:String;
begin
num:=Length(s);
st:='';
For i:=num DownTo 1 do
Begin
st:=st+s[i];
End;
Result:=st;

end;
Function DecTobin(Value :Integer) : string;//十进制转化二进制
Var
ST:String;
N:Integer;
Begin
ST:='';
n:=value;
While n>=2 Do
Begin
st:=st+IntToStr(mod_num(n,2));
n:=n div 2;
End;
st:=st+IntToStr(n);
Result:=reverse(st);

End;

二进制字符转十进制
Function binToDec(Value :string) : integer;
VAR
str : String;
Int : Integer;
i : integer;
BEGIN
Str := UpperCase(Value);
Int := 0;
FOR i := 1 TO Length(str) DO
Int := Int * 2+ ORD(str[i]) - 48;
Result := IntToStr(Int);
end;

参考资料: http://www.codesky.net/article/doc/200308/2003080976793686.htm

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式