问一个很简单的问题……关于2进制……
pascal吧
全部回复
仅看楼主
level 4
机智少年梁逸峰
楼主
我做了一个输入10进制数输出2进制数的程序,构思的时候是想用2个循环来实现,意外的是修改调试过程中不小心把其中一个循环弄失效了,结果就是一个循环实现了上述目的,但是!我看不懂!!
(看不懂自己的程序 /打脸 )我看不懂那一循环是如何实现该转化的?数据跟踪我已经试过了,还是看不懂……求高手解释……
2014年04月27日 09点04分
1
level 4
机智少年梁逸峰
楼主
现在赶着去学校,暂时用图片表示,将就着先看吧……
2014年04月27日 09点04分
2
abslime
这个将a:=b上面的直到j;=1去掉对运算结果都没影响
2014年04月29日 05点04分
机智少年梁逸峰
回复 abslime :谢谢
2014年04月29日 23点04分
abslime
回复 机智少年梁逸峰 :不用
2014年04月30日 05点04分
level 13
Fallen_Breath
我也看不懂
附上代码
var n:longint;
begin
readln(n);
if n=0 then writeln(0)
else writeln(binstr(n,trunc(ln(n)/ln(2))+1));
end.
2014年04月27日 11点04分
3
abslime
大神,binstr好像是非数学库的基本函数,在noip可不可以直接用呢
2014年04月29日 05点04分
level 13
汪靖恒
这不肯定暴吗。。。用integer来存储二进制你肯定在逗我。。。
要转二进制至少也是string或者数组啊。。。
2014年04月30日 09点04分
4
机智少年梁逸峰
啊?貌似没问题啊……
2014年04月30日 12点04分
level 7
ltjwj
for i := 1 to trunc(ln(num)/ln(2))+1 do write(num shr (i-1) and 1); writeln; 一行
2014年04月30日 12点04分
5
level 12
🍀Yuuki
好久木有钻编程题 都不会写了
2014年04月30日 14点04分
6
level 7
347438817cj
你直接在前面用个短除法就可以了
2014年04月30日 15点04分
7
机智少年梁逸峰
用的就是短除……
2014年05月01日 02点05分
level 11
Th0r-
同看不懂
2014年04月30日 16点04分
8
1