小编use*_*639的帖子

最小值不能以字节保存

根据https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html,Java中的一个字节是:

"字节数据类型是一个8位带符号的二进制补码整数.它的最小值为-128,最大值为127(含)."

如果我在Java中以二进制补码形式写入最大值(127),我可以将其保存为字节类型.

byte positive127 = 0b01111111;
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试对最小值-128执行相同操作,则将其解释为整数.我无法将其保存在一个字节中.

byte negative127 = 0b10000000;
Run Code Online (Sandbox Code Playgroud)

来自IDE的图片

有人可以解释为什么当文档声明字节类型应该能够保存这个值时,这是不可能的吗?

提前致谢!

java binary twos-complement

2
推荐指数
1
解决办法
38
查看次数

具有两个类的文件中的StackOverFlowException

以下代码生成StackOverFlowException.问题是为什么?它看起来合法......

using System;

namespace learning
{

    public class TestClass
    {
        private String name;

        public String Name
        {
            get => Name;
            set => name = value;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {

            TestClass e = new TestClass();
            Console.WriteLine(e.Name);

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试删除名称空间学习{...},但它没有改变任何东西.

c#

1
推荐指数
1
解决办法
43
查看次数

标签 统计

binary ×1

c# ×1

java ×1

twos-complement ×1