相关疑难解决方法(0)

我可以在C或C++中使用二进制文字吗?

我需要使用二进制数.

我试着写:

const x = 00010000;
Run Code Online (Sandbox Code Playgroud)

但它没有用.

我知道我可以使用具有相同值的十六进制数字00010000,但我想知道C++中是否存在二进制数的类型,如果没有,是否有另一种解决方案可以解决我的问题?

c c++ binary

182
推荐指数
13
解决办法
34万
查看次数

二进制文字?

在代码中,我有时会看到人们以十六进制格式指定常量,如下所示:

const int has_nukes        = 0x0001;
const int has_bio_weapons  = 0x0002;
const int has_chem_weapons = 0x0004;
// ...
int arsenal = has_nukes | has_bio_weapons | has_chem_weapons; // all of them
if(arsenal &= has_bio_weapons){
  std::cout << "BIO!!"
}
Run Code Online (Sandbox Code Playgroud)

但是我在这里使用十六进制格式没有意义.有没有办法直接用二进制文件做?像这样的东西:

const int has_nukes        = 0b00000000000000000000000000000001;
const int has_bio_weapons  = 0b00000000000000000000000000000010;
const int has_chem_weapons = 0b00000000000000000000000000000100;
// ...
Run Code Online (Sandbox Code Playgroud)

我知道C/C++编译器不会编译它,但必须有一个解决方法吗?是否有可能在其他语言如Java?

c++

49
推荐指数
8
解决办法
7万
查看次数

GCC二进制文字和C++ 14之间的区别?

C++ 14似乎即将到来,编译器已经在尝试实现这个新版本的核心功能.我正在研究GCC对这些核心功能的支持,并注意到二进制文字部分:GCC实现了它们,但似乎在GNU二进制文字和C++ 14二进制文字之间有所区别.以下是两者的相应参考:

我试图找到他们两个之间的一些差异,因为GCC似乎有所作为,但找不到任何东西.你们中有谁知道更多可能的不兼容性吗?

c++ gcc g++ literals c++14

18
推荐指数
1
解决办法
3618
查看次数

在C中更改一个字节的4个中间位

我正在尝试更改一个字节的4个中间位以对应另一个字节的高半字节:

假设我们从:

In = 0bABCDEFGH
Out = 0bXXXXXXXX // Some random byte
Run Code Online (Sandbox Code Playgroud)

我想要:

Out = 0bXXABCDXX
Run Code Online (Sandbox Code Playgroud)

留下任何其他位置Out的极端不变.

我怎样才能做到这一点?

注意: 'X'表示任何位,0或1,只是为了区分来自输入的内容.

我得:

(0b00111100 & (IN>>2)) = 0b00ABCD00
Run Code Online (Sandbox Code Playgroud)

,过滤高半字节并使其居中但是接着是什么?我怎么能把它移动到Out

c bit-manipulation

4
推荐指数
2
解决办法
140
查看次数

C-如何获取Char中的4个最低有效位

我是C语言的新手,我正试图从一个无符号字符中获取4个最低有效位。到目前为止,我还不知道如何获得它们。我将不胜感激

c bit

2
推荐指数
1
解决办法
88
查看次数

如何在C/C++中声明16位二进制位字符?

每个人都知道,如果你声明一个8位的值,你可以做类似的事情

int a = B10001110; 
Run Code Online (Sandbox Code Playgroud)

就像那个vut我不知道怎么用16位声明它,我做了类似的事情

int b = B1000000100001111; 
Run Code Online (Sandbox Code Playgroud)

但这给了我错误.我可以做些什么吗?我想要这个16位格式声明.

c c++ literals

-10
推荐指数
1
解决办法
121
查看次数

标签 统计

c ×4

c++ ×4

literals ×2

binary ×1

bit ×1

bit-manipulation ×1

c++14 ×1

g++ ×1

gcc ×1