Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 整数转换为字节时是什么样子?_C#_Bytearray - Fatal编程技术网

C# 整数转换为字节时是什么样子?

C# 整数转换为字节时是什么样子?,c#,bytearray,C#,Bytearray,我想在C#中创建一个字节数组,第一个和第二个字节必须分别为70和75: 所以我做了如下的事情: List<byte> retval = new List<byte>(); retval.Add(Convert.ToByte(75)); retval.Add(Convert.ToByte(70)); List retval=new List(); 返回添加(转换为字节(75)); 返回添加(转换为字节(70)); 我认为函

我想在C#中创建一个字节数组,第一个和第二个字节必须分别为70和75:

所以我做了如下的事情:

List<byte> retval = new List<byte>();
            retval.Add(Convert.ToByte(75));
            retval.Add(Convert.ToByte(70));
List retval=new List();
返回添加(转换为字节(75));
返回添加(转换为字节(70));
我认为函数会将数字转换成字节,如果我在运行时将watch放在arrayList上,那么它看起来会有点不同,但它没有改变。我希望看到0x00格式的值,但它看起来仍然像原始整数


我遗漏了什么吗?

右键单击您的监视窗口或即时窗口,然后选中十六进制显示选项。默认情况下,字节设置为“unchecked”,因为Visual Studio IDE假定您更喜欢读取int值而不是字节:


右键单击手表窗口或即时窗口,然后选中十六进制显示选项。默认情况下,字节设置为“unchecked”,因为Visual Studio IDE假定您更喜欢读取int值而不是字节:


字节是一个整型值,它与所有其他整型值一样,在将它们转换为表示形式之前看起来什么都不像。它们都是硅芯片上的电荷

byte
ushort
uint
ulong
都是长度不同的无符号整数类型(分别为1、2、4和8个八位字节)。它们存储为二进制(基2)数,每个位表示2的幂,低阶(逻辑上,最右边)位表示20或1,高阶位表示该大小可能的2的最高幂(分别为:27、215、231和263)

  • sbyte
    short
    int
    long
    是长度不等的有符号的积分类型(分别为1、2、4和8个八位字节)。然而,它们在内部存储在所谓的二补符号中

    • 's_补码
这意味着,高阶位是符号位(0表示非负,1表示负)。非负值(x>=0)如上所示,但可以表示的两个值的最大幂分别为26、214、230和262,因为高阶位是为符号保留的

负数存储为绝对值的两个补码。这允许通过加法电路执行减法,减法是负数的加法。要获得一个数的两个补码,请执行以下过程:

  • 倒位
  • 加1,以通常的方式传播任何进位,以获得整数的负形式
所以1的否定形式是

binary representation of +1:  0000 0000 0000 0001
invert the bits (complement): 1111 1111 1111 1110
add 1:                        1111 1111 1111 1111
如果将正形式和负形式相加,结果为零:

0000 0000 0000 0001
1111 1111 1111 1111
-------------------
0000 0000 0000 0000
将设置CPU进位或整数溢出标志

零保持不变,因为零实际上没有符号

binary zero:          0000 0000 0000 0000
inverted (complement: 1111 1111 1111 1111
add 1:                0000 0000 0000 0000
并且,更改可以表示的最小负数的符号

largest positive value: 1000 0000 0000 0000
inverted (complement):  0111 1111 1111 1111
add 1:                  1000 0000 0000 0000
得到它自己,因为它的绝对值比大的正数大1,当符号位向左执行时,将它们相加得到预期的零值,设置进位标志)


将它们相加,当进位从高阶位向外传播并设置CPU进位标志时,它们将产生预期的0。

字节是一个整数,它与所有其他整数类型一样,在将它们转换为表示形式之前,看起来不象任何东西。它们都是硅芯片上的电荷

byte
ushort
uint
ulong
都是长度不同的无符号整数类型(分别为1、2、4和8个八位字节)。它们存储为二进制(基2)数,每个位表示2的幂,低阶(逻辑上,最右边)位表示20或1,高阶位表示该大小可能的2的最高幂(分别为:27、215、231和263)

  • sbyte
    short
    int
    long
    是长度不等的有符号的积分类型(分别为1、2、4和8个八位字节)。然而,它们在内部存储在所谓的二补符号中

    • 's_补码
这意味着,高阶位是符号位(0表示非负,1表示负)。非负值(x>=0)如上所示,但可以表示的两个值的最大幂分别为26、214、230和262,因为高阶位是为符号保留的

负数存储为绝对值的两个补码。这允许通过加法电路执行减法,减法是负数的加法。要获得一个数的两个补码,请执行以下过程:

  • 倒位
  • 加1,以通常的方式传播任何进位,以获得整数的负形式
所以1的否定形式是

binary representation of +1:  0000 0000 0000 0001
invert the bits (complement): 1111 1111 1111 1110
add 1:                        1111 1111 1111 1111
如果将正形式和负形式相加,结果为零:

0000 0000 0000 0001
1111 1111 1111 1111
-------------------
0000 0000 0000 0000
将设置CPU进位或整数溢出标志

零保持不变,因为零实际上没有符号

binary zero:          0000 0000 0000 0000
inverted (complement: 1111 1111 1111 1111
add 1:                0000 0000 0000 0000
并且,更改可以表示的最小负数的符号

largest positive value: 1000 0000 0000 0000
inverted (complement):  0111 1111 1111 1111
add 1:                  1000 0000 0000 0000
得到它自己,因为它的绝对值比大的正数大1,当符号位向左执行时,将它们相加得到预期的零值,设置进位标志)


将它们加在一起,当进位从高阶位向外传播并设置CPU进位标志时,它们产生预期的0。

java和c++标记的意义是什么?十六进制或十进制只是表示进位的方法