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

问题描述 投票:-10回答:2

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

int a = B10001110; 

那样但我不知道怎么用16位声明它,我做了类似的事情

int b = B1000000100001111; 

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

c++ c literals
2个回答
6
投票

C ++ 14允许您使用表单的二进制文字

int b = 0b1000000100001111;

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

你的B表示法既不是标准C也不是标准C ++。


2
投票

也许你可以用这个?

strtol("1000000100001111", NULL, 2);

至少它是标准C.

© www.soinside.com 2019 - 2024. All rights reserved.