08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

void showbits2(int x)<br />

{<br />

unsigned int i = (~((unsigned)~0 >> 1));<br />

}<br />

while (i) {<br />

putchar (x & i ? '1' : '0');<br />

i >>= 1;<br />

}<br />

Aşağıda tamımlanan reverse_bits isimli işlev, int türden bir değerin bitlerini ters çeviriyor:<br />

#include <br />

int reverse_bits(int number)<br />

{<br />

int k;<br />

int no_of_bits = sizeof(int) * 8;<br />

int rev_num = 0;<br />

}<br />

for (k = 0; k < no_of_bits; ++k)<br />

if (number & 1 2) & 0x33);<br />

}<br />

return ((dest > 1) & 0x55);<br />

Aşağıda tanımlanan no_of_setbits isimli işlev, kendisine gönderilen int türden bir değerin<br />

kaç tane bitinin 1 olduğu bilgisi ile geri dönüyor:<br />

#include <br />

int no_of_setbits(unsigned int value)<br />

{<br />

int counter = 0;<br />

int k;<br />

for (k = 0; k < sizeof(int) * 8; ++k)<br />

if (value & 1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!