編譯器? 求解兩數運算?

2021-07-04 20:39:54 字數 594 閱讀 4592

這個問題也不算新鮮了,換一種方式提問就是"如何不用 + - * / 運算子,來求解兩元素之和"的問題;大家很自然的回想起利用位運算。在數位電路中,我們都遇到過設計「加法器」的問題,利用位與、或、非、異或可以很輕鬆的解決此問題;這裡,不用此方式,而是借助編譯器的位址偏移,來解決問題。

基本思路如下:

(1)將其中int型資料轉為位址(或者說是乙個陣列的首位址)

(2)然後利用陣列下角標索引,進行位址偏移,獲取偏移後的address

(3)將(2)中得到的位址轉換為int型別

下面貼出code,幾行的事兒,但可以深深的吸引著我們的腦洞:

//#include "stdafx.h"

#includeusing namespace std;

int add(int a,int b)

int _tmain(int argc, _tchar* argv)

{ cout <

讓我們欣賞一下watch視窗,頓時腦洞開啟吧!

愉快的享受一下,編譯器給我們帶來的盛宴吧!

編譯方舟編譯器

環境 mac os parallels desktop 安裝ubuntu 16.04 安裝基礎包 sudo apt get y install openjdk 8 jdk git core gnupg flex bison gperf build essential zip curl zlib1g ...

方舟編譯器編譯

目錄環境變數 安裝 ninja 和 gn 編譯成功 總結2019.9.1 編譯華為方舟編譯器原始碼 這篇文章僅僅是關於如何搭建環境並進行編譯。本機環境 ubuntu 16 server.一定要好好看參考文件!建議使用root賬戶操作 先 clone 原始碼華為開源平台 對應的參考文件openarkc...

初識編譯器

編譯器 閱讀以某一種語言 源語言 編寫的程式,並把該程式翻譯成為乙個等價的 用另一種語言 目標語言 編寫的程式。直譯器 並不通過翻譯的方式生成目標程式,直接利用使用者提供的輸入執行源程式中指定的操作。編譯器直譯器 執行速度更快 錯誤診斷效果更好 建立可執行的目標執行還需要的其他程式,比如 預處理器 ...