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

溫馨提示×

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
饶平县| 沐川县| 新兴县| 清苑县| 庄河市| 广灵县| 泸水县| 保山市| 梅州市| 克东县| 景宁| 泗阳县| 曲周县| 茂名市| 沛县| 六枝特区| 长汀县| 平乐县| 奇台县| 博野县| 崇仁县| 商水县| 天全县| 思南县| 富源县| 晴隆县| 汕头市| 潜山县| 萝北县| 博客| 察雅县| 常德市| 汝阳县| 福建省| 股票| 岑溪市| 霸州市| 尼木县| 哈尔滨市| 庄浪县| 七台河市|