【C++】%運算子的使用技巧
如下C++程式所示:
1 #include <cstdio> 2 3 using namespace std; 4 5 int main() 6 { 7 int a = 10, b = 4; 8 printf("%d\n", a % b); 9 printf("%d\n", a % -b); 10 printf("%d\n", -a % b); 11 printf("%d\n", -a % -b); 12 return 0; 13 }
輸出結果為:
2
2
-2
-2
那麼可以得知:在C++中,%運算結果的符號為%運算子左邊的數,與其右邊的數無關。
如果想要在C++中讓負數模其他數為非負數,那麼只需要寫成下面這樣就行了。
1 a = (a % b + b) % b; // %運算子右邊的數為正數時 2 a = (a % b - b) % b; // %運算子右邊的數為負數時
相關推薦
【C++】%運算子的使用技巧
如下C++程式所示: 1 #include <cstdio> 2 3 using namespace std; 4 5 int main() 6 { 7 int a = 10, b = 4; 8 printf("%d\n", a % b)
【C】【C++】 %運算子使用
如下C程式所示: #include <stdio.h> int main(void) { int a = 10, b = 4; printf("%d\n", a % b); printf("%d\n", a % -b); printf("%d\n", -a %
【C++】%運算符的使用技巧
pan 負數 spa ati 正數 under line pri mes 如下C++程序所示: 1 #include <cstdio> 2 3 using namespace std; 4 5 int main() 6 { 7
【C++】過載運算子
目錄 過載算術運算子(加減乘除 ) 過載類內操作符 過載全域性操作符 過載元素操作符[] 過載關係操作符 過載轉換操作符() 過載輸入輸出操作符 過載算術運算子(加減乘除 ) 過載加號運算子的形式為: class Object { public: Obj
【C/C++】運算子過載
C++ 中允許programmer 根據自身需要過載一系列的運算子,比如過載==運算子就比定義 equals() 函式名了的多。但是儘量不要過載表意不明的運算子。 常用的過載運算子有 : =, ==, <,>, <<, >>
【C#】— 基礎函式、運算子和表示式
從前人(學習完這個專案的人)那裡聽說傳智播客是北京最大計算機培訓班黑馬的前身,感覺對他的興趣又深了。只要對它有了興趣自然學的就會快了。看C#視訊有一段時間了,小楊老師講課很有意思,一點也不枯燥,幽默風趣還有一點點自戀哈哈哈,好像他快禿頂了。 對於C#視訊就像是我才來提高班學
【C++】C++之位運算子
位運算子 位運算子作用於位,並逐位執行操作。&、 | 和 ^ 的真值表如下所示: p q p&q p|q p^q 0 0 0
【C++】成員函式過載二元和一元運算子
過載雙目運算子時,運算子函式中應該具有兩個引數,若運算子函式作為類的成員函式(當運算子過載函式作為類的成員函式時,要求運算元左邊必須是一個物件,而函式的引數可以是同類的物件也可以是普通的變數),則只需要一個引數。 雙目運算子 雙目運算子就是具
【C++】C++類的學習(三)——運算子過載與友元函式
前言 前面的兩篇博文中介紹了類的一些基本特性,今天講一講運算子過載和友元。運算子過載 運算子過載是C++中一種形式的多型,運算子過載將過載的概念運用到運算子上,賦予運算子更多地含義。也許乍然一聽,似乎我們對它並不熟悉,其實它一直為我們使用,例如 * 運算
【C++】String類中的運算子過載
模組化設計: 標頭檔案: <span style="font-size:18px;">#ifndef operator_operator_h #define operator_op
【C/C++】運算子優先順序記憶
運算子優先順序順口溜:淡雲一筆,鞍落三服。 淡:單目運算子; 雲:算術運算子; 一:移位運算子; 筆:比較運算子; 鞍:按位運算子; 落:邏輯運算子; 三:三目運算子; 服:賦值運算子。 單目運算子 >算術運算子 >移位 >比較 >按
【C++】賦值運算子函式
將已有的物件拷貝給另一個物件時,會用到賦值運算子函式, 尤其是當物件的記憶體分配在堆上時 函式原型: ClassName & operator = (const ClassName &obj) <span style="font-family:Micr
【c++】用c++實現複數類及運算子的過載
#include<iostream> using namespace std; class Complex { public: Complex(double real = 0.0, double image = 0.0)//建構函式 :_real(real
【C++】關於字串引數傳遞的小技巧
在對函式進行字串傳遞操作時,一次不要傳遞太多的字串。可以先傳遞一個字串,然後在函式中將該字串複製給其他字串。 如對於下面的函式: void turn_ps(string password,str
【C++】學習筆記草稿版系列11(運算子過載)
運算子過載和友元之間是如何發生關係的 友元過載,成員過載 單目和雙目運算子可以過載 通常情況下: 雙目運算子過載為成員的話需要一個引數,過載為友元的話需要兩個引數 const Comple
【C】字符串常量和字符數組
gcc pre class fun 後者 一段 put light cmp 此次博客是轉載某位博主的文章,不過現在找不到了,所以先聲明一下。 先貼一段代碼: #include <stdio.h> int main(int argc, const char**
【C#】監測文件改變類
tco private clas 目錄修改 obj directory 設置 行修改 config using System.IO;//首先實例化一個對象 FileSystemWatcher watcher = new FileSystemWatcher(); //
【C#】報表制作<機房重構>
接下來 機房 工具 學習 test trac fcm 報表 感覺 前言 和VB須要引用其它報表軟件不同,VS自帶報表設計的功能,初次嘗試。就感受到了它的強大之處。 報表制作 話不多說。直接報表的制作過程。 1、首先,我們要先制作一個報表的
【C#】單例模式<機房重構>
機房 .sh 不能 是否 gist 應用 調用方法 單例模式 sender 前言 在機房重構之前。我們學習了設計模式。在這次重構中,我們的任務就是將這些模式,加入到機房的重構中去。如今先來解決一個最簡單的問題——窗口的超生。 假設不加以限
【C#】Color顏色對照表
pac eee lower fda flow dig val rim cee Color.AliceBlue 240,248,255 Color.LightSalmon 255,160,122 Color.