逻辑右移 || 算术右移

This commit is contained in:
flykhan 2023-06-19 15:54:34 +08:00
parent 1ab9831597
commit 49565a55df
1 changed files with 28 additions and 0 deletions

28
day6/d9.cpp Normal file
View File

@ -0,0 +1,28 @@
/*
(), ,,0,.,.
*/
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
char n = 0xff; // 0b1111 1111
/*
.,0,,,.,,0,,1.
.,0,.,1,.,,.
*/
n = n >> 4; // 逻辑右移: 0b0000 1111 ; 算术右移: 0b1111 1111
// 如何判断高 4 位是 1111 还是 0000
// 1. 逻辑右移, 0b0000 1111
// 2. 算术右移, 0b1111 1111
if (n & 0xff == 0x0f)
cout << "0xff >> 4 进行逻辑右移, 结果: " << bitset<8>(n) << endl;
else
cout << "0xff >> 4 进行算术右移, 结果: " << bitset<8>(n) << endl;
return 0;
}