交換連個數字的幾種方法:
// 方法一:
int tmp=a;
a=b;
b=tmp;
// 方法二:
a=a+b;
b=a-b;
a=a-b;
// 方法三:
a=a^b;
b=a^b;
a=a^b;
// 方法四:
b=a-b;
a=a-b;
b=b+a;
解讀:方法一易於理解,沒有技術含量;
方法二/方法四從數字的加減法入手解答,每一行都很簡單,多個簡單的**行疊加,就造就了不簡單的演算法(學習的方向)。做人何嘗不是呢?活得簡單點,沒乙個簡單的過程都做到極致,疊加後的結果就是非常卓越!
方法三該解法的基礎是對計算機記憶體儲存的深入了解和理解,然後才能搞明白該演算法。程式設計師對計算機的工作原理需要有更深入的了解
C語言學習筆記(一)
c 語言只提供了以下幾種基本資料型別 char 字元刑占用乙個位元組,可以存放本地字符集中的乙個字元 int整型 通常反應了所用機器中整數的自然長度 float 單精度浮點型 doule 雙精度浮點型 此外,可以在這些基本資料型別的錢買年加上些限定符。short 與long 兩個限定符用於限定整型 ...
C語言學習筆記(一)
進製問題 1 進製 2進製 8進製 10進製 16進製制 2進製 進製規則是逢二進一,1 二進位制轉十進位制 方法 按權展開求和 二進位制怎麼會有小數點 例 規律 個位上的數字的次數是0,十位上的數字的次數是1,依次遞增,而十 分位的數字的次數是 1,百分位上數字的次數是 2,依次遞減。注意 不是任...
C語言學習基礎(一)
背景 考研失敗 找工作乏力 缺失信心 於是開始學習嵌入式 最開始是c語言基礎 好吧 說說今天學了什麼吧 感覺重要的我就記下來了 也當是自己的一種體驗吧 或者說是激勵自己學習得一種方式吧 1.c語言的特點 或許以後面試會用到吧 1 c語言可以直接對 位 位元組 位址 進行操作 位是記憶體中最小的單位 ...