91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

求平均數的四種方法

發布時間:2020-08-30 20:18:30 來源:網絡 閱讀:1285 作者:wx5cb137862d1dd 欄目:編程語言

用c語言求平均數有四種方法,各有利弊。
1.第一種是最常規的做法

> int main()
{
    int a = 10;
    int b = 5;
    c = (a + b) / 2;
    system("pause");
    return 0;
}

這種方法有缺陷,如果a和b足夠大,以致于兩數之和超出了intmax(整型所能代表的最
大值),所以不建議使用這種方法。
2.最常用的方法

> int main()
{
    int a = 10;
    int b = 5;
    c = a+(b-a)/2;
    system("pause");
    return 0;
}

這種優于第一種方法,這個算法c的值永遠不會超過intmax,所以一般這種算法比較常見
3.用位操作表示

> int main()
{
    int a = 10;
    int b = 5;
    c = (a&b) + (a^b)/2;
    system("pause");
    return 0;
}

a&b得到的是a和b的二進制里對應位相同的那一位,且為1,a^b得到的是a和b的二進制
里對應位不同的那一位留下來,且為1,相同位全部變成0。另外,a與b的和可以理解為
a與b的每個二進制位的權重之和,可以拆分成a和b相同二進制位的和加上不同二進制位
的和。所以a&b即為相同的二進制的對應位的和除以2,a^b即為不同的二進制的對應位
的和。這種算法的缺陷是a和b只能是整數。
4.也用位操作符表示

> int main()
{
    int a = 10;
    int b = 5;
    c = (a&b) + ((a^b) >> 1);
    system("pause");
    return 0;
}

向右移有除以二的效果

第三種與第四種方法都較難理解透徹, 所以輕易不要嘗試,但如果非要用的話,優先
用右移的方法,效率較高。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿拉善右旗| 汕头市| 寿宁县| 醴陵市| 广汉市| 佛学| 庆云县| 青州市| 尉氏县| 邵阳县| 乐山市| 丁青县| 东阳市| 治多县| 盐源县| 同江市| 天津市| 江永县| 无极县| 丘北县| 于都县| 盈江县| 怀宁县| 宁乡县| 岗巴县| 临猗县| 绍兴县| 柳州市| 兴山县| 息烽县| 台江县| 合作市| 涿州市| 晴隆县| 清新县| 浦县| 株洲县| 阳江市| 原平市| 张北县| 宜良县|