yimoEx

yimoEx

none

【C言語】コード抽象技術

あなたをより不可欠にする (より抽象的)#

1. フル加算器による加算の代替#

int add(int a, int b){
	if(!a) return b;
	return add((a & b) << 1, a ^ b);
}

2. より多くの近似記号を使用#

int i = 100;
do{
	//何か
}while(i --> 0);

3. 配列演算の変更(1 次元)#

int a[5] = {1, 2, 3, 4, 5};
for(int i = 0;i < 5;i++){
	printf("%d\n", i[a]);
	printf("%d\n", (i - 1)[a + 1]);
}

4. 奇数偶数の判定#

int num = 11;
printf("%d\n", num % 2 == 0);
printf("%d\n", num & 1);

5. 16 進数値の使用(-1 の表現)#

0xffffffff

6. x * N#

x <<= 1; //x *= 2
x >>= 1; //x /= 2
x = (x << 1) + (x << 3); //x *= 10

7. 変数の交換 (a ≠ b)#

int a = 2,b = 3;
a ^= b;
b ^= a;
a ^= b;

//または

a^=b^=a^=b

8. 不等号 [この方法には問題が発生する可能性があります]#

a ≠ b <=> a ^ b

9. int を char に変換#

int a, b;
char ch;
ch = a ^ 48;
b  = ch ^ 48;
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。