亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

C++中ushort類型的運算規則

c++
小樊
98
2024-08-27 12:07:33
欄目: 編程語言

在C++中,unsigned short(通常簡寫為ushort)是一種無符號整數類型,其大小通常為16位(2字節)

  1. 加法:當兩個unsigned short類型的數相加時,如果結果超出了unsigned short的表示范圍(即大于USHRT_MAX),則會發生模運算(即結果對USHRT_MAX + 1取模)。這意味著結果將“環繞”到unsigned short的有效范圍內。
unsigned short a = USHRT_MAX; // 65535
unsigned short b = 1;
unsigned short c = a + b; // 0,因為 65535 + 1 = 65536 % (65536) = 0
  1. 減法:與加法類似,當兩個unsigned short類型的數相減時,如果結果小于0(即第一個數小于第二個數),則會發生模運算。
unsigned short a = 0;
unsigned short b = 1;
unsigned short c = a - b; // 65535,因為 0 - 1 = -1 % (65536) = 65535
  1. 乘法:當兩個unsigned short類型的數相乘時,如果結果超出了unsigned short的表示范圍,則會發生模運算。
unsigned short a = USHRT_MAX; // 65535
unsigned short b = 2;
unsigned short c = a * b; // 131070,因為 65535 * 2 = 131070 % (65536) = 131070
  1. 除法:當兩個unsigned short類型的數相除時,如果除數為0,則會發生未定義行為(UB)。否則,結果將被截斷為unsigned short類型。
unsigned short a = USHRT_MAX; // 65535
unsigned short b = 2;
unsigned short c = a / b; // 32767,因為 65535 / 2 = 32767
  1. 取模:當兩個unsigned short類型的數進行取模運算時,如果除數為0,則會發生未定義行為(UB)。否則,結果將被截斷為unsigned short類型。
unsigned short a = USHRT_MAX; // 65535
unsigned short b = 2;
unsigned short c = a % b; // 1,因為 65535 % 2 = 1

需要注意的是,當涉及到unsigned short和其他整數類型(如intlong等)之間的運算時,可能會發生隱式類型轉換。在這種情況下,較小的整數類型將被提升為較大的整數類型,然后再進行運算。例如,當unsigned shortint相加時,unsigned short將被提升為int,然后再進行加法運算。

0
阳曲县| 芦山县| 高密市| 无为县| 五常市| 萝北县| 阿拉善盟| 东兰县| 始兴县| 乐昌市| 陇川县| 剑河县| 穆棱市| 乌鲁木齐县| 玉山县| 大宁县| 青川县| 鹿泉市| 怀宁县| 山东省| 黔江区| 祁连县| 昌吉市| 长泰县| 岳西县| 海盐县| 界首市| 临朐县| 鄂州市| 商丘市| 宁化县| 睢宁县| 寿阳县| 叶城县| 洪雅县| 余干县| 东台市| 民和| 普格县| 博爱县| 丰原市|