1)机器数,比如11111111,如果是无符号的,应该是255,如果是有符号的,应该是-127
我想问下,电脑是怎么判断,这个数字什么时候是有表示带符号的呢?
机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的
采用8位二进制表示时,整数补码的表示范围:
最大为01111111,其真值为(127)10
最小为10000000,其真值为(一128)10补码最小数表示-128 是怎么计算的呀?
按照 10000000 先求反 11111111,然后加1,貌似8位码表示不了了呀,请赐教
解决方案 »
- 标记上具有语法错误,错误放置了构造
- Java 实现UDP打洞
- 怎样把写的学生信息管理系统和slq sever 连接起来? 代码和数据库都写好了,请高手帮我修改!
- 写了一个校验“23日”“十五号”等日期的正则表达式,但是不完善,请大侠不吝赐教!
- 一个排列组合算法问题(急!多谢高手!!)
- 除了sun哪里还有jdk下载?
- applet连接服务器数据库时的java安全问题,在线等待!!!急!!!
- 非常棘手!这个jbuilder 编译的莫名其妙的信息!
- java bean放入orsin和tomcat的什么目录下?
- 小白求助,我这代码鼠标事件为什么没作用呢?
- java里面使用Math.sin的问题
- 关于正则表达式,急啊。急
public class OutputBinary {
public static void main(String[] args) {
System.out.println(Integer.toBinaryString(-128));
System.out.println(Integer.toBinaryString(-127));
System.out.println(Integer.toBinaryString(-126));
System.out.println(Integer.toBinaryString(-1));
System.out.println(Integer.toBinaryString(0));
System.out.println(Integer.toBinaryString(1));
System.out.println(Integer.toBinaryString(126));
System.out.println(Integer.toBinaryString(127));
}
}
/*
11111111111111111111111110000000
11111111111111111111111110000001
11111111111111111111111110000010
11111111111111111111111111111111
0
1
1111110
1111111
*/