【发布时间】:2011-09-30 07:29:24
【问题描述】:
在最近的采访中,我收到了这样一个问题:
Given a string value, find out its 127th bit and reset it, do this in C language
Reset means if that particular bit is 0 change to 1 and vice versa
我没有找到任何算法,但我想知道如何用C 语言解决这个问题。
编辑:
从少数人那里得到答案后,我尝试了这个:
#include<stdio.h>
void main()
{
char *str="anto";
str[15] ^= 0x80;
printf("%s",str);
}
我得到的输出为:anto。现在我突然想到,改变一点不会改变输出?
【问题讨论】:
-
稍微定义“重置”? (设置为 0?)
-
@Mysticial:你说得对,我已经编辑了我的问题。
-
请给出一个之前和之后的示例,说明您期望它的行为方式,因为位编号有些随意,在这种情况下,“字符串”的含义并不完全清楚。
-
在您的示例中,第 127 位已超过 4 个字符。
-
我认为重置意味着将 1 更改为 0 并且 0 仍然是 0
标签: c bit-manipulation