用程式讓數字的正負值顛倒

更新於 發佈於 閱讀時間約 1 分鐘
寫程式時,遇到要將數字變數的正負值顛倒過來 (例如 55 變成 -55;-66 變成 66),這時該怎麼做?
  1. 用現成的函數。以 PHP 為例,用現成的 gmp_neg 來做,還要轉換成 gmp 型態,好麻煩。程式寫久就會懶得想好方法,直接用這方式。
  2. 用三元運算子判斷正負。若是負的就用絕對值改成正的,若正的就前面加減號。
  3. 數字乘 -1 就可以反向,讓正變負/負變正。
  4. 最漂亮解法: 0 減去數字。(如下面的 PHP 程式)
用加減法速度最快又單純,乘除次之,判斷再處理快再其次,用函數再型別轉換就麻煩多了。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
2會員
26內容數
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
WILSON PENG的沙龍 的其他內容
用 PHP 程式來修正 RSS 裡的語法解析錯誤。 一些新聞訊息之類的網站提供 RSS (Resource description framework Site Summary, 簡易資訊聚合),以 XML (Extensible Markup Language, 可延伸標記式語言) 語法的格式
PHP 在 Cloudflare 後的抓 Public IP,Cloudflare 提供了 HTTP_CF_CONNECTING_IP 的 HTTP Header,所以程式用它就可以取到用戶的 IP。
UNIX 在設計時,用 32 位元為基礎設計,Timestamp (time_t 結構) 順理成章也是 32 位元 (signed int32),從 1970 年開始算,導致它能記錄的時間在 2038 年會溢位變負數。
有一種狀況,URL GET method 有設變數,卻是空值 http://foo.bar.xxx/idol.php?IdolGroup= 這時,變數就算初始化也還是 null, 不會變成預設值
程式如下: 跑了五次,每次判斷一千萬回 f1() 陣列的方式: 5.2219750881195 5.194901943
這支 PHP 的小程式,輸入時間,會顯示回傳的時間: 放在 command line 執行,如下: $ php cst.php “2018–04–01 00:00:00 cst” 多了 14 小時,好神奇。 追 PHP Source 好了,看問題在哪。找到這支定義時區的設定: timezonemap
用 PHP 程式來修正 RSS 裡的語法解析錯誤。 一些新聞訊息之類的網站提供 RSS (Resource description framework Site Summary, 簡易資訊聚合),以 XML (Extensible Markup Language, 可延伸標記式語言) 語法的格式
PHP 在 Cloudflare 後的抓 Public IP,Cloudflare 提供了 HTTP_CF_CONNECTING_IP 的 HTTP Header,所以程式用它就可以取到用戶的 IP。
UNIX 在設計時,用 32 位元為基礎設計,Timestamp (time_t 結構) 順理成章也是 32 位元 (signed int32),從 1970 年開始算,導致它能記錄的時間在 2038 年會溢位變負數。
有一種狀況,URL GET method 有設變數,卻是空值 http://foo.bar.xxx/idol.php?IdolGroup= 這時,變數就算初始化也還是 null, 不會變成預設值
程式如下: 跑了五次,每次判斷一千萬回 f1() 陣列的方式: 5.2219750881195 5.194901943
這支 PHP 的小程式,輸入時間,會顯示回傳的時間: 放在 command line 執行,如下: $ php cst.php “2018–04–01 00:00:00 cst” 多了 14 小時,好神奇。 追 PHP Source 好了,看問題在哪。找到這支定義時區的設定: timezonemap
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
題目敘述: Reverse Bits 給定一個32bit的整數,請逆序翻轉其二進位表達式,輸出翻轉過後的數字。 例如輸入是二進位1010111 逆序翻轉後是 1110101,對應的十進位數值是117 測試範例 Example 1: Input: n = 00000010100101000
Thumbnail
本章節介紹了PHP中的各種運算符,包括算數運算子、比較運算子、賦值運算子和位元運算子。還討論了運算子的優先等級及其在表達式中的應用。了解這些運算符及其優先等級可以幫助編寫更高效和準確的PHP代碼。
Thumbnail
這一章節介紹了PHP的各種資料型別,包括內建型別如整數、浮點數、布爾值、字符串、數組、對象、空值和資源,並解釋了型別轉換的方式。此外,還討論了自訂型別、元組型別、集合型別、陣列型別和字典型別的實現方法。
有時候在使用數學運算時,會出現一些看似反直覺的結果。 這些錯誤可能是由於我們對於數學規則的誤解或者忽略了一些細節所導致的。 以下是一些 Python 的例子: 除餘數 例如負數求餘數。 假設-15 % 90 狀況下 會下意思覺得結果還是 -15 但輸出的結果是 75。
※ 常用number型態的運算方法: 加、減、乘、除 求餘數(mod):% ※ JavaScript 內建的 Math 物件提供了許多number相關的方法和常數。以下是一些常見的內建 Math 功能: Math.PI:算出圓的面積。 Math.ceil:無條件進位 Math.floor
※ JavaScript的五種運算子: 我們希望操控這些值,來達成我們想要的結果。 運算式由運算元和運算子組成。運算元是指我們要拿去做運算的東西是什麼?例如:5和4。運算子是他要做什麼樣子的運算?例如:"+"。 算術運算子:"+加"、"-減"、"*乘"、"/除"、"%(mod餘數概念)"。
在求學階段,你已經對代數的計算熟到不能再熟,所以變數(variable)對你來說應該不至於太陌生,先來看看以下這個例子:   
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
一、基本算術運算符號 加法:+ 減法:- 乘法:* 除法:/(返回浮點數) a = 1 b = 2 print( a + b ) # 加法 輸出:3 print( a - b ) # 減法 輸出:-1 print( a * b ) # 乘法 輸出:2 print( a / b ) #
Thumbnail
題目敘述: Reverse Bits 給定一個32bit的整數,請逆序翻轉其二進位表達式,輸出翻轉過後的數字。 例如輸入是二進位1010111 逆序翻轉後是 1110101,對應的十進位數值是117 測試範例 Example 1: Input: n = 00000010100101000
Thumbnail
本章節介紹了PHP中的各種運算符,包括算數運算子、比較運算子、賦值運算子和位元運算子。還討論了運算子的優先等級及其在表達式中的應用。了解這些運算符及其優先等級可以幫助編寫更高效和準確的PHP代碼。
Thumbnail
這一章節介紹了PHP的各種資料型別,包括內建型別如整數、浮點數、布爾值、字符串、數組、對象、空值和資源,並解釋了型別轉換的方式。此外,還討論了自訂型別、元組型別、集合型別、陣列型別和字典型別的實現方法。
有時候在使用數學運算時,會出現一些看似反直覺的結果。 這些錯誤可能是由於我們對於數學規則的誤解或者忽略了一些細節所導致的。 以下是一些 Python 的例子: 除餘數 例如負數求餘數。 假設-15 % 90 狀況下 會下意思覺得結果還是 -15 但輸出的結果是 75。
※ 常用number型態的運算方法: 加、減、乘、除 求餘數(mod):% ※ JavaScript 內建的 Math 物件提供了許多number相關的方法和常數。以下是一些常見的內建 Math 功能: Math.PI:算出圓的面積。 Math.ceil:無條件進位 Math.floor
※ JavaScript的五種運算子: 我們希望操控這些值,來達成我們想要的結果。 運算式由運算元和運算子組成。運算元是指我們要拿去做運算的東西是什麼?例如:5和4。運算子是他要做什麼樣子的運算?例如:"+"。 算術運算子:"+加"、"-減"、"*乘"、"/除"、"%(mod餘數概念)"。
在求學階段,你已經對代數的計算熟到不能再熟,所以變數(variable)對你來說應該不至於太陌生,先來看看以下這個例子: