【发布时间】:2015-11-13 12:15:46
【问题描述】:
我必须将 sbyte 数组转换为 BigInteger。我在通用 Windows 平台上。 BigInteger 构造函数只接受 byte[] 而不是 sbyte[]。 我不能使用 byte[],因为在 C# 中,默认情况下字节是无符号的,并且我得到的值高于 128。
sbyte 数组是从字节数组转换而来的,因为当我比较 C# 返回的 BigInteger 值与 Java 中的值不同时,Java 默认使用有符号字节,而 c# 使用无符号。
任何解决方案? Java中的BigInteger:78214101938123633359912717791532276502 C# 中的 BigInteger 30381787179362266836169791328776673082
编辑:我正在尝试从 sbyte[] 数组中创建一个 BigInteger。我不想将 byte[] 转换为 sbyte[]
【问题讨论】:
-
既然可以复制/粘贴,为什么还要截图?
-
翻转你的字节数组。 Java 使用 Big-Endian,C#(很可能)使用 little-endian。更多信息:Wikipedia
-
我将我的 byte[] 数组翻转为 sbyte[] 但现在我需要从 sbyte[] 创建 BigInteger 并且 BigInteger 构造函数不接受 sbyte[]
-
我没有尝试将 byte[] 转换为 sbyte[] ,它已经完成,我正在尝试从 sbyte[] 而不是 byte[] 创建 BigInteger,但我无法
标签: c# type-conversion byte biginteger