Hogy tudnék olyan programot írni, amely 10-es számrendszerbeli számot átvált kettesbe? C++
Legrosszabb esetben csinálhatod azt, hogy a 10-es számrendszerbeli számot osztodot kettővel addig amíg el nem jutsz egyig :). Utána alulról felfele olvasva a maradékok kiadják a bináris számot.
pl: M-maradék, Sz-szám
M | Sz
--| 8
0 | 4
0 | 2
0 | 1
1 | 0
Eredmény: 1000
Köszi. Írtam egy függvényt, de nem működik rendesen. Javaslat?
string decToBinary(unsigned number){
string result;
for(int i=0;number!=1;++i){
if(number%2!=0){
number-=1;
number/=2;
result+="1";
}
else{
number/=2;
result+="0";
}
}
return result;
}
Itt van egy Delphiben - a c-t nem nagyon preferálom - ez alapján írd át.
function atvalt(const valt: integer): string;
const
jegyek : array[0..1] of char =('0', '1');
var
verem : array of byte;
i, veremmutat, szam: integer;
begin
szam:=valt;
SetLength(verem,0);
while szam<>0 do
begin
veremmutat := length(verem);
SetLength(verem, veremmutat+1);
verem[veremmutat] := szam mod 2;
szam:= szam div 2;
end;
for i:=length(verem)-1 downto 0 do
Result:=Result+(jegyek[verem[i]]);
Setlength(verem,0);
end;
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!