Binary 我不知道';我不懂十进制到二进制的代码
十进制45是二进制的101101,当我必须解释代码时,我得到1011001,但程序输出正确的答案。在2 mod 2=0之后,这个0到哪里去1011001 如果我输入45作为十进制数,我遵循程序中的步骤:Binary 我不知道';我不懂十进制到二进制的代码,binary,decimal,pascal,freepascal,Binary,Decimal,Pascal,Freepascal,十进制45是二进制的101101,当我必须解释代码时,我得到1011001,但程序输出正确的答案。在2 mod 2=0之后,这个0到哪里去1011001 如果我输入45作为十进制数,我遵循程序中的步骤: 45模2=1,x=“1” “+”1“=“1” 45第2部分=22 22模2=1,x=“0” “1”+“0”=“10” 22第2部分=11 11模2=1,x=“1” “10”+“1”=“101” 11第2部分=5 5模2=1,x=“1” “101”+“1”=“1011” 5第2部分=4 4模2=
- 45模2=1,x=“1”
- “+”1“=“1”
- 45第2部分=22
- 22模2=1,x=“0”
- “1”+“0”=“10”
- 22第2部分=11
- 11模2=1,x=“1”
- “10”+“1”=“101”
- 11第2部分=5
- 5模2=1,x=“1”
- “101”+“1”=“1011”
- 5第2部分=4
- 4模2=0,x=“0”
- “1011”+“0”=“10110”
- 4第2部分=2
- 2模2=0,x=“0”
- “10110”+“0”=“101100”
- 2分2=1
- 1模2=1,x=“1”
- “101100”+“1”=“1011001”
- 1第2部分=0
- 节目结束
write('Enter decimal number: ');
readln(dec);
repeat
if (dec mod 2 = 0) then x:= '0'
else x:= '1';
bin:= bin + x;
dec:= dec div 2;
until dec= 0;
writeln(bin);
查看这一行:
5 div 2 = 4
它等于2,而不是4
这里还有一个输入错误:
22 mod 2 = 1, x = "0"