cpp之 !! 的运用

!!:具有归一化的作用,不等于0的数就制成1,等于0的数就是0。测试如下:

代码:

int main() {

	int n = 15;
	cout << !!(1) << endl;
	cout << !!(-1) << endl;
	cout << !!(0) << endl;
	/*cout << n << "的二进制为";
	reverse(n);
	cout << endl;
	for (int i = 0; i < 31; i++) {
		//cout << !!(n && (1 << i));
		int ind = (n & (1 << i));
		cout << ind << endl;
	}*/

	return 0;
}

输出结果为:

cpp之 !!_十进制

可以利用他的这个性质实现将十进制转化为二进制的操作。并且二进制的位数是我们自己任意指定的。

代码演示

int main() {

	int n = 15;
	cout << "请输入一个数:";
	cin >> n;
	cout << "对应二进制为" << endl;
	for (int i = 15; i >= 0; i--) {
		cout << !!(n & (1 << i));
	}
	return 0;
}

结果为

cpp之 !!_归一化_02