C# 二进制、Int32和十六进制转换查询

C# 二进制、Int32和十六进制转换查询,c#,.net,hex,bit,int32,C#,.net,Hex,Bit,Int32,下面的代码是一个正在进行的工作,我也在花时间尝试学习更多关于位、十六进制和整数之间转换的知识; 很多这显然是重复的操作,因为我们对7个不同的“包”执行相同的操作,所以请随意掩盖这些重复(只是希望整个代码结构能够提前回答一些问题) 据我所知,如果一个二进制值被转换成Int32,第一个数字告诉我它是否为-/+,其中1表示(-),0表示(+);但是,在以0开头的位数组中,当我执行CopyTo(int[])事务时,它们显示为负数,而以1开头的位数组在复制时显示为正数 此外,还存在将它们从Int32值转换

下面的代码是一个正在进行的工作,我也在花时间尝试学习更多关于位、十六进制和整数之间转换的知识; 很多这显然是重复的操作,因为我们对7个不同的“包”执行相同的操作,所以请随意掩盖这些重复(只是希望整个代码结构能够提前回答一些问题)

据我所知,如果一个二进制值被转换成Int32,第一个数字告诉我它是否为-/+,其中1表示(-),0表示(+);但是,在以0开头的位数组中,当我执行CopyTo(int[])事务时,它们显示为负数,而以1开头的位数组在复制时显示为正数

此外,还存在将它们从Int32值转换为十六进制值的问题。当被检查时,任何从数组转换出来的负值都不会在前面加上8个F,因此我不确定其中的区别,因为我的十六进制知识是有限的,我不想在将数据传输到另一个系统时丢失有意义的数据(如果对任何人都重要的话,通过TCP/IP)。我将发布我从下面所有内容中获得的值,以帮助澄清一些问题


在线十六进制值:

FFFFFFFFAAAAAAAA
555555555
FFFFFFFFCCCCCCCC
33333333
FFFFFFFFC71C71C7
38E38E38
F0F0F0F

如果每个整型符号值都反转,请放置-1*IntegerValue以取消反转。它也可能与调用toStirng(“X”)时有关,可能使用空字符串?

所以尝试调用.ToString(),而不使用您认为合适的参数?我还要提到的是,我很确定在早期版本中添加了.ToString()方法之前,is正在这样做,在早期版本中,我只是将二进制转换为Int32,而不是十六进制。这值得一试,因为您正在将数据转换为字符串,也正在转换的X可能会偏移要转换为Hex/Int32的代码。如果它之前做过,我真的不确定,这只是我对一个简单解决方案的最好猜测,让我知道会发生什么。说实话,我甚至不确定如何将字符串(“X”)转换为十六进制,除了其他StackOverFlow帖子所说的使用哈哈。那我来看看效果如何,谢谢!位数组中的位是相反的。例如,-1431655766在二进制中是10101010101010101010101010101010。在我写这篇文章的时候,我的第一个想法是,当它被复制时,比特数组被读取[31]->[30]->[29]->等等,因为它是通过单个手动赋值构建的[0]->[1]->[2]->等等,它导致它被向后解释(OP中发布的二进制格式是我每次遍历每个变量时在断点期间读取的bitArray格式)。因此您认为可能会将bitContainer_X.CopyTo()更改为类似于bitContainer_X.CopyTo().Reverse()的内容?仅供参考:它们都是Int32。它们的基础不同,但类型相同。F出现在前面,因为该站点使用64位数字,而您使用32位数字。您可以看到它们的区别:
Convert.ToString(-1431655766,16)
Convert.ToString(-1431655766L,16)
C#存储整数和二进制的方式没有区别。整数的转换在输入和输出语句(读写)中执行。您必须隐式指定数字是1、2、4还是8字节。
Variable                    Binary                     Int32[]       My Hex
bitContainer_1  "01010101010101010101010101010101"  "-1431655766"   AAAAAAAA
bitContainer_2  "10101010101010101010101010101010"  "1431655765"    55555555
bitContainer_3  "00110011001100110011001100110011"  "-858993460"    CCCCCCCC
bitContainer_4  "11001100110011001100110011001100"  "858993459"     33333333
bitContainer_5  "11100011100011100011100011100011"  "-954437177"    C71C71C7
bitContainer_6  "00011100011100011100011100011100"  "954437176"     38E38E38
bitContainer_7  "11110000111100001111000011110000"  "252645135"     F0F0F0F
FFFFFFFFAAAAAAAA
555555555
FFFFFFFFCCCCCCCC
33333333
FFFFFFFFC71C71C7
38E38E38
F0F0F0F