lau*_*ent 5 c c++ variables bit-manipulation copy
假设我有这个int
变量v1
:
1100 1010
Run Code Online (Sandbox Code Playgroud)
而这个变量int v2
:
1001 1110
Run Code Online (Sandbox Code Playgroud)
我需要将最后四位复制v2
到最后四位,v1
以便结果如下:
1100 1110
^ ^ last four bits of v2
|
| first four bits of v1
Run Code Online (Sandbox Code Playgroud)
我怎样才能在C或C++中做到这一点?我读了一些关于按位操作的文章,但我找不到任何具体的信息.
Car*_*rum 16
按位操作是正确的选择.
v1 = (v1 & ~0xf) | (v2 & 0xf);
Run Code Online (Sandbox Code Playgroud)
您阅读的文章中是否有某些特定的内容?
怎么样
v1 = (v1 & 0xf0) | (v2 & 0xf);
Run Code Online (Sandbox Code Playgroud)
如果"v1"的值有更多位,则需要使用更大的掩码:
v1 = (v1 & 0xfffffff0) | (v2 & 0xf);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5643 次 |
最近记录: |