【发布时间】:2012-11-09 09:05:58
【问题描述】:
我有一个要求,我从字符串“111111”生成二进制数并将其转换为十进制数以存储在数据库中。这个二进制数的每个数字(即 1/0)表示用户对应用程序中不同模块的不同访问权限。随着模块数量的增加,这个二进制数的位数也会增加。当二进制数达到 64 的长度(即 64 乘以 1s)时,我能够使用
将其转换为十进制数Int64 dec =Convert.ToInt64(binVal,2);
而且效果很好。但是当长度增加到 65 时,它给出了溢出异常:对于 UInt64,值要么太大要么太小。任何人都可以提出任何可能的解决方案,我可以将这个长度为 65 的二进制数转换为十进制数或任何其他形式以将其保存在数据库中。
提前致谢。
【问题讨论】:
-
您可以将其作为字符串存储在数据库中,然后在从数据库中提取值后执行您的逻辑。
-
感谢您的回复,但我无法将其直接存储在数据库中。有一些进一步的处理,我需要将其转换为十进制。