GPIO_bits_OUT(GPIOG,13,3,0x0006);从第13为开始,连续3位,将这三位的值设置为0x6对应二进制位100
图释(默认位都为高电平,忽略代码中的&):
c++的一段测试获得i个二进制1的代码:
// 获得n个二进制1.cpp :
#include <iostream>
using namespace std;
void printBinary(int num) //二进制输出函数
{
if (num == 0) { // 递归结束条件
cout << "0";
return;
}
else {
int remainder = num % 2; // 取余数作为当前位的值
printBinary(num / 2); // 对除以2后的商再次调用函数
cout << remainder; // 打印当前位的值
}
}
int main()
{
int bu1 = 0;int middata = 1;
int i = 9;
if (i > 0)
{
while (i--)
{
bu1 += middata; middata *= 2;
}
}
std::cout << bu1 <<"\n";
std::cout << middata <<"\n" << std::endl;
printBinary(bu1);
}
获得i个1的二进制数,运行结果: