Java.io.DataInputStream.readInt()

1. 代码

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 = ;
try {
x = dis.readInt();
System.out.println(x);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

控制台输入 : 12并回车

控制台打印: 825363722

2. 解释

49*2^24 + 50*2^16 + 13*2^8 + 10 = 825363722

在控制台 输入12, 其实输入的是->

字符'1'、字符'2'、回车、换行

对应的ASCII码是 49 50 13 10

Int类型是4个字节的 , 所以 readInt()从流里读出4个字节做位移运算  

这里存在一个把字符串二进制转换成整型的问题。

上一篇:js颜色转换


下一篇:html5学习笔记:canvas