1樓:
c1左移兩位,就是c1的值乘以2的平方,c2左移一位,然後c1的值和c2、c3的值相加,結果和case相對應,即可得出答案。如果哪地方還不明白,請繼續追問。
2樓:匿名使用者
int c1 = a%3 ==0;,若a能被3正除,則為1,否則0((c1<<2)+(c2<<1)+c3
將c1左移2位,即乘與4,得4或者0
將c2左移1位,即乘與2,得2或者0
c3不移,得1或者0
從他們三個相加的值判斷到底可以被那些數正除
3樓:啟航落地
是指c1的二進位制進行左移兩位,c2的二進位制左移一位
4樓:
int c1 = a%3 ==0;
int c2 = a%5 ==0;
int c3 = a%7 ==0;
結束後c1,c2,c3是三個狀態位,分別表示能被3整除,能被5整除,能被7整除。
現在要判斷這幾個狀態位,由於每個狀態位只能是0或1之一,因此可以把它們移位組成一個整數c=(c1c2c3)。寫成二進位制的話,0b000說明不能被357整除,0b001只能被7整除,等等。
(c1<<2)+(c2<<1)+c3就是移位過程,c1左移兩個二進位制位,c2左移一個二進位制位,c3不用移位。加起來就是c=(c1c2c3)。
5樓:匿名使用者
x<< 1 = x* 2
x<< 2 = x* 4
x<< 3 =x * 8
x<< 4 = x* 16
...x>> 1 =x / 2
x>> 2 =x / 4
x>> 3 = x/ 8
x>> 4 = x/ 16
比如說:c1=1,c2=1,d3=1;則c1<<2+c2<<1+c3=7;就是該數可以被3、5、7整除
更詳細的你可以進我空間看看
簡單的C 程式,簡單的C 程式
include include using namespace std define maxn 1000 struct studentstu maxn int main while 1 stu maxn int main while 1 if i n cout 沒找到!n return 0 其實上面...
幫忙把這段C語言程式加上註釋
struct student insert struct student head,struct student stu 此函式功能是 為一個由student物件組成的連結串列插入元素.引數head是連結串列頭,指向第一個連結串列元素.引數stu是要插入物件的指標.else 連結串列不為空,則插入 ...
C如何寫程式 「顯示當前時間」,c 窗體程式中如何顯示計算機的時間
c 中獲取當前時間方法 datetime 數字型 system.datetime currenttime new system.datetime 取當前年月日時分秒 currenttime system.datetime.now 取當前年 int 年 currenttime.year 取當前月 in...