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

时间:2018-01-04 08:42:30

标签: c++ c literals

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

的事情
int a = B10001110; 
像那个vut我不知道如何用16位声明它,我做了类似

的事情
int b = B1000000100001111; 

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

2 个答案:

答案 0 :(得分:6)

C ++ 14允许您使用

形式的二进制文字
int b = 0b1000000100001111;

文字的类型遵循与十六进制文字相同的规则。这是标准C,尽管某些C编译器允许它作为扩展。

您的B符号既不是标准C也不是标准C ++。

答案 1 :(得分:2)

也许你可以用它?

strtol("1000000100001111", NULL, 2);

至少是它的标准C.