【发布时间】:2015-08-16 15:53:47
【问题描述】:
我在使用 C 中以零开头的 int 值时遇到问题(例如 00111001)。
我知道 C 编译器将数字开头的零理解为八进制数。
我的问题是如何禁用它?我想将 8 位整数转换为 char array[8]。
例如01010001={'0','1','0','1','0','0','0','1'}
【问题讨论】:
-
这是二进制表示吗?您是否可以将其存储在字符串中而不是
int中? -
只需将源代码中的前导零替换为空格即可。你有什么理由不能这样做吗?
-
如果您想要一个带前导零的整数 - 例如 int 中数字的二进制表示,或者只是数字的字符串表示,那么从问题的开头就不清楚已经在下面回答了。你想要一个实际的整数还是一个字符字符串?
-
另外,您不能禁用八进制文字。如果您谈论在运行时解析字符串,那是可能的。请用一些示例代码澄清问题。
-
要扩展我之前的评论,您可能有一个XY problem。您已经假设禁用八进制是您问题的解决方案,并且您正在询问我们如何做到这一点。事实上,禁用八进制(甚至不清楚这意味着什么)几乎肯定不是解决方案。您需要更清楚地描述您的问题。