C, yardım

sinkync
25-07-2007, 14:13   |  #1  
OP Yeni Üye
Teşekkür Sayısı: 0
21 mesaj
Kayıt Tarihi:Kayıt: Haz 2007

arkdaşlar şu programda kırmızıyla yazılı bölümler tam olarak ne anlama geliyor yardımcı olabirmisiniz? teşekkürler.

/* 03prg02.c:
    Bir tamsayının ASCII karakter kod karşılığının bulunması.
    (ctype.h kütüphanesinde tanımlanan toascii(c) makrosuna ait kod) */

#include <stdio.h>

int  c=65;  /* gloabal değişken bildirimi */
char kr;

void main()
{
    kr = c & 0x7f;  /* kr = c & 127 */
    printf("%d sayisinin ASCII karsiligi %c\n",c,kr);
}

eolos
30-07-2007, 22:00   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
2,036 mesaj
Kayıt Tarihi:Kayıt: May 2006

arkadsım sen bu programla ne yapmak istiyosun onu bir acıklarmısın o zaman sana belki yardım edebilirim

PAIN_KILLER
31-07-2007, 01:17   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
149 mesaj
Kayıt Tarihi:Kayıt: Mar 2006

Bence arkadaşım toascii(c); komutunun işyeyişini anlamaya çalışyor.

benim anladığım kadarıyla burada
kr = c & 0x7f;  veya   kr = c & 127 satırında
c karakterinin hex karşılığını 7f ile and işlemine tabi tutuyor.( 7f = 127) bu da

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
mesala 'a' karakterinin hex karşılığı 41= (0100 0001) AND 127 nin 7f = (0111 1111) sonuç (0100 0001)
yani yine 41 bulunur. buda 10 luk tabanda 65 dir. Mantıken bu işleme gerekyok gibi görünüyor. ama bunu yapması gerekiyor.
Saygılar..

Son Düzenleme: PAIN_KILLER ~ 31 Temmuz 2007 01:23