π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[inflearn κ°μ] κΈ°λ³Έ λ¬Έλ² - λΉνΈ λ Όλ¦¬ μ°μ°μμ μ¬ννΈ μ°μ°μ λ³Έλ¬Έ
π©π» IoT (Embedded)/C++
[inflearn κ°μ] κΈ°λ³Έ λ¬Έλ² - λΉνΈ λ Όλ¦¬ μ°μ°μμ μ¬ννΈ μ°μ°μ
μ§μ§μνμΉ΄ 2023. 6. 27. 19:24728x90
λ°μν
<λ³Έ λΈλ‘κ·Έλ μ΄μνΈλ½ κ²μμμΉ΄λ°λ―Έ λμ μ νλΈλ₯Ό μ°Έκ³ ν΄μ 곡λΆνλ©° μμ±νμμ΅λλ€ :-)>
=> C++ Let's Make Games
𫧠λΉνΈ λ Όλ¦¬ μ°μ°μμ μ¬ννΈ μ°μ°μ
μμ : λ³νμ§ μλ μ. νλ² μ§μ νλ©΄ λ°κΏ μ μμ
μμλ μ μΈκ³Ό λμμ κ° μ§μ ν΄μΌ ν¨
μ°μ°μ μΆμ½ν : μ°μ°μ μ€μ¬μ μ¬μ© κ°λ₯
μ¬ννΈ μ°μ°μ : <<, >> κ° λ κ° μ°μ°νμ¬ κ°μΌλ‘ λμ΄ (μ΄μ§μ λ¨μμ μ°μ°)
20 << 2 => 10100 << 2 μ€λ₯Έμͺ½μΌλ‘ 0 λμΉΈ λΆμ΄κΈ° => 1010000 => 64 + 16 = 80
20 << 3 => 10100000 => 160
μ¦, 2^n κ³±νκΈ°
20 >> 2 => 101 = 5
20 >> 3 => 10 = 2
μ¦, 2^n λλκΈ° (μμμ λΊ)
μ¦κ° μ°μ°μ : ++, --
// μ μΉ
++iNumber;
// νμΉ
iNumber++;
// Chapter1_5
#include <iostream>
using namespace std;
int main()
{
// μμ : λ³νμ§ μλ μ. νλ² μ§μ νλ©΄ λ°κΏ μ μμ
// μμλ μ μΈκ³Ό λμμ κ° μ§μ ν΄μΌ ν¨
const int iAttack = 0x00000001; // 1
const int iArmor = 0x00000002; // 10
const int iHP = 0x00000004; // 100
const int iMP = 0x00000008; // 1000
const int iCritical = 0x00000010; // 10000
// 1 | 100 => 101 | 10000 => 10101
int iBuf = iAttack | iHP | iCritical;
// μ°μ°μ μΆμ½ν : μ°μ°μ μ€μ¬μ μ¬μ© κ°λ₯
// iBuf = iBuf ^ iHP; (λ€λ₯Ό λλ§ μ°Έ)
// 10101 ^ 00100 = 10001
// 10101 & 00001 = 1
cout << "Attack : " << (iBuf & iAttack) << endl;
// 10101 & 00010 = 0
cout << "Armor : " << (iBuf & iArmor) << endl;
/*
μ¬ννΈ μ°μ°μ : <<, >> κ° λ κ° μ°μ°νμ¬ κ°μΌλ‘ λμ΄
μ΄μ§μ λ¨μμ μ°μ°ν¨
20 << 2 => 10100 << 2 μ€λ₯Έμͺ½μΌλ‘ 0 λμΉΈ λΆμ΄κΈ° => 1010000 => 64 + 16 = 80
20 << 3 => 10100000 => 160
μ¦, 2^n κ³±νκΈ°
20 >> 2 => 101 = 5
20 >> 3 => 10 = 2
μ¦, 2^n λλκΈ° (μμμ λΊ)
*/
int iHigh = 187;
int iLow = 13560;
int iNumber = iHigh;
// iNumber μλ 187 λ€μ΄κ°
// < λ°©ν₯μΌλ‘ 16λΉνΈ μ΄λμν€λ©΄ μμ 16λΉνΈμ κ°μ΄ λ€μ΄κ°
iNumber <<= 16;
// νμ 16λΉνΈ μ±μ΄λ€
iNumber |= iLow;
// iHigh μΆλ ₯νκΈ°
cout << "High : " << (iNumber >> 16) << endl;
cout << "Low : " << (iNumber & 0x0000ffff) << endl;
// μ¦κ° μ°μ°μ : ++, --
// μ μΉ
++iNumber;
// νμΉ
iNumber++;
cout << ++iNumber << endl;
cout << iNumber++ << endl;
return 0;
}
728x90
λ°μν
'π©βπ» IoT (Embedded) > C++' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Comments