32767通过键盘输入以后,如何变为2进制的过程

00000011 00000010 00000111 00000110 00000111 这个是和字符0相减以后的结果,但是
然后是不是需要对每一个字节都进行权值的乘法,然后再加起来,就是30000+2000+700+67

你的想法可以实现,也可以通过高位的二进制表示,例如67 = 1000111,1000000+0000111也是可以表示67的,如果你是想知道计算机的底层是怎么转换的,你可以多了解操作系统和汇编语言的内容,这些更接近计算机的底层

整数不会这么存。 比如 int 一般是 32 位, 四个字节, 四个字节是一个整体。
比如 32767 应该是 00000000 00000000 01111111 11111111

底层的数据转换,那也是根据输入的值来表示的。。

第一次输入3 就是 int 3
第二次输入3 就是 int 33

类似根据当前的数值进行加。。

 00000011 00000010 00000111 00000110 00000111
转换为 3 2 7 6 7
所以结果应该是 3 *2^32+2*3^24+7*2^16+6*2^8+7,结果是577 744 435 145
为什么要这么做,因为每一组可以表示0~2^7-1(0~255),如果你第二组是700,也就是100*7,那么遇到100,你没办法判断,是第一组的那个100,还是第二组的1。
 另外,你要搞清楚,我们有两种表示32767的办法
00000011 00000010 00000111 00000110 00000111
这个叫做bcd码,也就是用二进制表示的十进制数
因为bcd码表示范围是0-9,所以用4位就可以了(2^4=16>10,2^3=8<10),所以通常我们用
0011 0010 0111 0110 0111 表示32767
或者111111111111111,这是把10进制转换为二进制。

参考:http://blog.gkong.com/liaochangchu_145218.ashx

10进制转换2进制用相除取余数的办法
比如
32767/2=16383...1
16383/2=8191...1
8191/2=4095...1
4095/2=2047...1
2047/2=1023...1
1023/2=511...1
511/2=255...1
255/2=127...1
127/2=63...1
63/2=31...1
31/2=15...1
15/2=7...1
7/2=3...1
3/2=1...1
1/2=0...1
反过来把余数写出来(你的例子不好因为正反都是一样,但是你要注意是从下往上写)是111111111111111