每个人都知道如果你声明一个8位的值,你可以做类似
的事情int a = B10001110;
像那个vut我不知道如何用16位声明它,我做了类似的事情
int b = B1000000100001111;
但这给了我错误。我可以做些什么吗?我想要这个16位格式声明。
答案 0 :(得分:6)
C ++ 14允许您使用
形式的二进制文字int b = 0b1000000100001111;
文字的类型遵循与十六进制文字相同的规则。这是不标准C,尽管某些C编译器允许它作为扩展。
您的B
符号既不是标准C也不是标准C ++。
答案 1 :(得分:2)
也许你可以用它?
strtol("1000000100001111", NULL, 2);
至少是它的标准C.