- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
#include studio.h
main()
{
uint16 final,num;
printf(“enetr the unsigned integer 16bit number “);
scanf(“%d”, &num);
final= numbitset(num);
printf(“%d”, final);
}
unit16 numbitset( unit16 x)
{
int i, j,result, total=0;
uint16 no,modify
for(i=1;i<=4;i++)
{
j=pow(10,i);
no= (x%(j))>>(i-1)*4;
if(no==0)
{
result=0;
}
else if(no==1)
{
result=1;
}
else if(no==2)
{
result=1;
}
else if(no==3)
{
result=2;
}
else
{
result = othernum(no/4)+othernum(no%4);
}
total = total+result;
}
}
uint16 othernum( uint16 y)
{
switch(y)
{
case 0:
return(0);
break;
case 1:
return(1);
break;
case 2:
return(1);
break;
case 3:
return(2);
break;
default:
return;
break;
}
}
Посчитать количество значащиз битов в 16ти разрядном целом. Реальный тест на собеседовании дал такой вот результат. Угадайте откуда кандидат :)