原码/反码/补码计算机,在线计算给定整数的原码/反码/补码。
工具链接: http://www.atoolbox.net/Tool.php? Id=952
原码, 反码和补码的概念
对于一个数据,计算机必须采用一定的编码方式进行存储。 原码、反码、补足码是机器存储具体数字的编码方式
原码:源代码是最早用于表示数字的方法之一,它是一个:正数,转换为二进制位的是这个正数的源代码。 将负数的绝对值转换为二进制比特,在高位比特中添加1就是这个负数的原始代码。
例:
int类型的第三源代码为11b(b表示二进制位),在32位计算机上占用4个字节时,高位的零填充如下
00000000 00000000 00000000 00000011
int类型-3的绝对值二进制位在上面的11B展开后,高位必须补零。
10000000 00000000 00000000 00000011
但是,源代码有一些缺点,零点是两种0和-0。 很奇怪吧! 另外,在进行不同码的相加或相同码的减法运算的情况下,不能直接判断结果的正负。 需要比较两个值的绝对值,进行加减操作。 最后的符号位由绝对值大决定。 于是产生了相反的代码。
反码:正数反码为原码,负数反码等于原码除符号位外所有位相反
例如:
int类型3的反码是
00000000 00000000 00000000 00000011
和源代码一样什么也说不出口
int类型-3的反码是
11111111 11111111 11111111 11111100
除符号位外,所有位都取反
解决了加减运算的问题,还是有正负零的点,然后是补数
补码:正数补数与原始代码相同,负数补数将除原始代码编码位外的所有位反转,然后最低有效位加1。
例如:
int类型的3的补数如下。
00000000 00000000 00000000 00000011
int类型的-3的补数是
11111111 11111111 1111111 11111101
就是在那个反码上加1
最后总结:
正数的反码和补码都与原始代码相同。
负数的反码,对于该数的原代码,除了符号比特之外的各个比特是相反的。
负数的补数相对于该数的原始代码,除符号位外,各位都反转,最后一位加1。
扩展资料
二进制是计算技术中广泛采用的数。 二进制数据是由0和1这两个数字表示的数。 其基数为2,进位规则为“逢二进一”,借位规则为“借一当二”,是由18世纪德国数理哲学大师纤细的水杯发现的。 目前的计算机系统基本上使用的是二进制系统,数据主要作为补充代码存储在计算机中。 计算机二进制文件是一个非常小的开关,“开”表示1,“关”表示0。
在20世纪被称为第三次科技革命的重要标志之一的计算机的发明和应用是因为数字计算机只能识别和处理由“0”.“1”符号串组成的代码。 其运算模式正是二进制。 19世纪爱尔兰逻辑学家勤奋的宝马对逻辑命题的思考过程转化为对符号“0”“.”“1”的某种代数运算,二进制都是二进制进位制。 0,1是基本运算符。 因为只使用0、1这两个数字符号,所以非常简单方便,容易通过电子方式实现。