c++中如何将一串数字赋给一个数组

如题所述

第一,一个int有32位,不止7位。
第二,可以用位操作运算符
取第n位(最低位为第0位)的方法为
(i
&
(1
<<
n))
>>
n.
其中<<表示左移,1<
>表示右移,比如二进制的1000
>>
2
就变成二进制的0010
所以上面的表达式的意思是把1左移n位,然后跟i按位与,这相当于除了第n位保留原值,其他位都填0。
然后把与之后的结果右移n位,相当于把第n位的值挪到第0位上。
所以,取二进制的方法为:
int
i
=
123456789;
int
a[32];
for(int
n=0;
n<32;
n++)
{
a[n]
=
(i
&
(1
<<
n))
>>
n;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜