
Практикум по программированию на языке С,
Вычислительная физика, Теория алгоритмов.
ФНБИК МФТИ
2015-2016 учебный год
1 #include<stdio.h>
2 int main(void){
3
4 unsigned short getbit(unsigned short number, unsigned short position);
5 short a=-1;
6 short *ap=&a;
7 unsigned short *bp;
8 int i;
9 unsigned short b;
10 bp=(unsigned short *) ap;
11 b=*bp;
12 for(i=15;i>=0;i--)
13 printf("%4d",i);
14 printf("\n");
15
16 for(i=15;i>=0;i--)
17 printf("%4u",getbit(*bp,i));
18 printf("\n");
19 return 0;
20 }
21
22 unsigned short getbit(unsigned short number, unsigned short position){
23
24 unsigned short tmp;
25
26 number=number>>position;
27
28 tmp=0U;
29 tmp=~tmp;
30 tmp=tmp<<1;
31 tmp=~tmp;
32
33 return number&tmp;
34 }