這段C 程式中的 c1《2c2《1 c3怎麼理解,謝謝

時間 2021-08-30 10:47:36

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...