众所周知,计算机采用二进制来存储数据。当然前苏联曾经研究过三进制的计算机不过没有成功。而现如今几乎所有的计算机都是二进制的。
那么计算机是如何使用二进制进行数据存储呢?
不论我们平时的视频,音频,文本,图片等数据存储在计算机底层最终都是二进制形式存储的。
机器数
一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1
十进制3转化为机器数为 00000011(计算机字长为8位) -3表示10000011
真值
真值是机器数所表示的十进制真实的值,如上面例子中的 3,-3就是真值
原码
原码就是机器数
因为最高位位符号位,所以在8位的计算机字长中取值范围为
[11111111,011111111]
即[127,-127],最高位位符号位只代表正负
反码
反码表示的方法是:
正数的反码是其本身
负数的反码是在其原码的基础上,符号位不变,其余各个位取反
+1=[00000001]原码=[00000001]反
-1=[10000001]原码=[11111110]反
即反码表示的是负数
补码
正数的补码就是其本身
负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后加一,(即在反码的基础上+1)
+1=[00000001]原=[00000001]反=[00000001]补
-1=[10000001]原=[11111110]反=[11111111]补
致于为什么计算机要使用原码补码和反码,有待我进一步研究,知道的小伙伴也可以直接告诉我,谢谢!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/133790.html