PDA

Tam Sürümünü Görmek İçin : 2lik sistemi 10'luk a çevirmek..??


SLiM_BoY
14/12/2004, 14:01
Ya beyler..2lik sistemde yazılan bir sayıyı 10 luk sisteme çevirmem gerekiyor..10luk sistemdeki 2lik sisteme çevirebiliyorum..Fakat kafa durdu :D Bunu 2lik sistemdekini 10 luk sisteme çevirecek hale getirmem lazım..
yardımlarınızı bekliyorum..

---------------------------------------------------------------------------
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int taban[80];
int sayi,i=0,j,k;

printf("bir sayi gir:..");
scanf("%d",&sayi);
while(sayi>=2)
{
taban[i]=sayi%2;
sayi=sayi/2; i++;
}
taban[i]=sayi;
for(j=i;j>=0;j--)
printf("%d",taban[j]);
getch();
}
---------------------------------------------------------------------------

yukarıdaki 10luk sistemdekini 2lik sisteme çeviriyor :)


darkshadow
14/12/2004, 14:19
http://www.c-for-dummies.com/lessons/bonus/13/

SLiM_BoY
14/12/2004, 14:29
cwbın için teşekkür ederim..başka bi yerden buldum..fakat anlamadığım bir şey var..

r1 += (sayi % 10) * (int) pow (taban1, i);

diyor..buradaki "pow" ne işe yarıyor??

myavuzselim
14/12/2004, 15:07
verilen: ikilik
r = <ikiligin en sagdaki rakami>
sayi = 0
basamakSayisi = 1
while <r ikiligin icinde>
if <r = 1>
sayi += basamakSayisi
end if
<r'yi sola kaydir>
basamakSayisi *= 2
end while

darkshadow
14/12/2004, 15:13
buradaki "pow" ne işe yarıyor??

pow() üssel ifadeleri kolaylaştırır. pow() fonksiyonu büyük miktardaki sayıları kendileriyle(veya tersleriyle) çarpmak için etkin bir yoldur. Örneğin, pow(3,5) 3*3*3*3*3 olur ve pow(3, -5) 1 / 3*3*3*3*3 olur.

Kullanımı : pow(taban, üs)

taban int veya float: üssel anlatımın tabanı
üs int veya float: tabanı arttıracak üs

SLiM_BoY
14/12/2004, 15:25
Tmm..anLadım..

teşekkürLEr darkshadow