1. 代码java
import java.io.DataInputStream; import java.io.IOException; public class Test { public static void main(String[] args) { System.out.println("请输入数字:"); DataInputStream dis = new DataInputStream(System.in); int x = 0; try { x = dis.readInt(); System.out.println(x); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
控制台输入 : 12并回车spa
控制台打印: 825363722code
2. 解释blog
49*2^24 + 50*2^16 + 13*2^8 + 10 = 825363722字符串
在控制台 输入12, 其实输入的是->io
字符'1'、字符'2'、回车、换行class
对应的ASCII码是 49 50 13 10import
Int类型是4个字节的 , 因此 readInt()从流里读出4个字节作位移运算 二进制
这里存在一个把字符串二进制转换成整型的问题。im