问题描述
十进制整数 22 在十进制中是 11 位数,在二进制中对应 1010 ,是 22 位数。
十进制整数 2222 在十进制中是 22 位数,在二进制中对应 1011010110 ,是 55 位数。
请问十进制整数 20222022 在二进制中是几位数?
解法一:
#include <stdio.h>
#include <stdlib.h>
int main( )
{
int a=2022,b=0;
while (a>0){ a/=2; b++; }
printf("%d",b);
return 0;
}
解法二:
#include <stdio.h>
#include <stdlib.h>
int main( )
{ // 请在此输入您的代码
for(int i=0;i<100;i++){
if(pow(2,i)>2022){printf("%d",i);
break;
}
}
return 0;
}
只要路是对的,就不怕路远!
与其抱怨,不如改变!
不自卑也不骄傲,不动声色的变好!