引言(只想看怎么转换的可以跳过这一段)
数值数据(1,0.1..)在计算机中以(补码/原码/移码/反码)中的其中一种形式存在于计算机中。比如说22(无符号数)这个数,你要存在于计算机的话你总不可能直接在硬盘上存一个22啊,因为计算机的存储器中只能存储0和1.所以在计算机中存的肯定是22的二进制形式:10110。现在我们再来思考一下-22(带符号数)怎么存储呢?这个‘ - ’ 在计算机中怎么存储呢?
人们想到:我们自己规定一下+,-怎么表示不就完事了吗?(于是原码出来了)。
过了若干年后,人们发现:这些数字存储是没问题了,但是我存储了以后我还要对这个数字进行运算啊(+,-,*,/...),这个时候我们的数字如果在计算机中以原码的形式存储的话,对他们这些原码计算太麻烦了(于是补码出来了)。比如:计算-2 + 1 = ?。如果按照(三位)原码来计算 110 + 001 = 111. 111不是-3吗?很明显原码在计算的时候是不方便的,但是反之如果-2和1和补码表示的话:110 + 001 = 111。(怎么还是111,没什么变化啊?)其实这个是因为补码的表示方法不同于人们的思维啊!!(所以我才会写怎么变补码的啊)111 -》101-》-01-》-1。有同学可能看不懂我刚刚的怎么成111 变成 -1的