シフト演算とOR演算の使用例
理解しにくいですが、、、私は本当に理解していますが、もう少しで死ぬところでした.
とにかく、問題はこうです.
これは、ビット0〜31の間に文字ビットがそれぞれ加わる問題である.
私はあなたのビット移動を理解することができますが、なぜOR演算をするのか、私は本当に多くの頭を働かせました.
いくつかの考えを出した.OR演算の定義に関連付けられている場合、OR演算には1があれば無条件に1とする特徴がある.この点を考えると、無条件にどんな値段でも引き留めることができると思います.
したがって,文字ビットを移動しnumとOR演算を行い,文字ビットをnumに上書きする方式を選択した.
とにかく、問題はこうです.
これは、ビット0〜31の間に文字ビットがそれぞれ加わる問題である.
私はあなたのビット移動を理解することができますが、なぜOR演算をするのか、私は本当に多くの頭を働かせました.
いくつかの考えを出した.OR演算の定義に関連付けられている場合、OR演算には1があれば無条件に1とする特徴がある.この点を考えると、無条件にどんな値段でも引き留めることができると思います.
したがって,文字ビットを移動しnumとOR演算を行い,文字ビットをnumに上書きする方式を選択した.
#include <stdio.h>
int main() {
unsigned int num;
char a, b, c, d;
printf("첫번째 문자를 입력하시오: ");
scanf("%c", &a);
num = a;
printf("두번째 문자를 입력하시오: ");
scanf(" %c", &b);
num = b << 8 | num;
printf("세번째 문자를 입력하시오: ");
scanf(" %c", &c);
num = c << 16 | num;
printf("네번째 문자를 입력하시오: ");
scanf(" %c", &d);
num = d << 24 | num;
printf("결과값: %x\n", num);
return 0;
}
Reference
この問題について(シフト演算とOR演算の使用例), 我々は、より多くの情報をここで見つけました https://velog.io/@jsj9620/비트-이동-연산-및-OR연산-사용-예제テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol