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