PDA

Tam Sürümünü Görmek İçin : Char <> Ascii <> Int Çevrim


UnderTaker
12/08/2006, 15:34
1karakteri önce ascii sonrada binary'e çevirmek istiyorum :)
Hatta direk binary olursa da olur :)

php ile şu 2 fonksiyon bu işi yaptı
http://tr2.php.net/manual/en/function.ord.php
http://tr2.php.net/manual/en/function.decbin.php

ama c veya C++ için eşdeğer fonksiyonu bulamadım :(


UnderTaker
12/08/2006, 16:42
Cevapları buldum :)
int tipinde değişkene char atayınca otomatik olarak ascii kodunu alıyormuş.
itoa ise taban değiştirmeyi yapıyor sağolsun.

Meteryus
12/08/2006, 16:44
int i binary e çevirmek için bir fonksiyon.

inttobin(int in)
{
AnsiString sBinnary;
int b,c;
int temp =1;
for (c=0;c<15;c++)
{
temp = temp*2;
}

for(b=15; b>=0; b--)
{
if (in/temp > 0)
{
sBinnary =sBinnary+ '1';
in= in-temp;
}
else
{
sBinnary =sBinnary+ '0';
}

temp = temp/2;
}
return sBinnary;
}

shurzan
13/08/2006, 04:28
Sanırım BCB ile çalışıyorsun bunu aşağıdaki gibi daha kolayca yapabilirdin.
Yani bir int değerinin Binary değerini öğrenebilmek için değerin tüm bitlerinin öğrenilmesi gerekir. ilk bitin öğrenilmesi içinsayı 1 ile and işlemine tabi tutulur sonuç 0 ise bit 0 değilse 1 dir. ikinci bitin değerini öğrenmek için sayı bir kere sağa kaydırılır ve aynı işlem tekrar edilir
AnsiString TForm1::intTobinary(int intTo)
{
AnsiString Binary;

for(int i=0;i<=15;i++)
Binary=IntToStr((intTo>>i)&1)+Binary;

return Binary;
}