gpt4 book ai didi

c++ - 指向单个位的 C/C++ 指针类型?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:24:02 26 4
gpt4 key购买 nike

我想修改单个数据位(例如 intchar)。我想通过制作一个指针来做到这一点,比如 ptr。通过将它分配给一些 int 或 char,然后在递增 ptr n 次之后,我想访问该数据的第 n 位。 有点像

// If i want to change all the 8 bits in a char variable
char c="A";
T *ptr=&c; //T is the data type of pointer I want..
int index=0;
for(index;index<8;index++)
{
*ptr=1; //Something like assigning 1 to the bit pointed by ptr...
}

最佳答案

C++ 中没有位指针这样的东西。您需要使用两个东西,一个字节指针和该位的偏移量。这似乎是您在代码中的目标。下面介绍如何执行各个位操作。

// set a bit
*ptr |= 1 << index;

// clear a bit
*ptr &= ~(1 << index);

// test a bit
if (*ptr & (1 << index))
...

关于c++ - 指向单个位的 C/C++ 指针类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15848292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com