计算机里原码是用最高位表示数字的正负,1为负数,0为正数。最高位为1的负整数原码求补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1,最后加上符号位。
即原码11010100除符号位外的所有位为1010100,取反为0101011,再加1就等于0101100,带上符号位最终为10101100。
扩展资料:
计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
计算机里表示正负不是用+、-号表示的
11010100如果是原码就没有所谓的+或-
因为原码的最高位表示的是符号位,1为负数,0为正数
负数的补码是除符号外其余各位按位取反后加1,为10101100
如果11010100是二进制码
它本身是个正数,它的原码要看用几位二进制表示,如果是八位就超出范围了因为最高位要作为符号位后七位才能用来表示数值,用十六的二进制表示则最高位用0表示,数值前多出的用0补则11010100的十六位二进制原码为0000000011010100,正数的补码就是原码
而-11010100的十六位二进制原码最高位符号位后面的作为数值位补0,则1000000011010100,负数的补码则是符号位不变其余各位按位取反最后末尾加1,则有-11010100的十六位二进制补码为1111111100101100
原码:00101010 (原码)
补码:11010101 (由于是负的,所以转正后加一)
计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过是绝大多数人生来具有10个手指头这个解剖学事实的结果。
尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚。".为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了。
如果在最高位作为是符号位的时候(0为正1为负)
-11010100 (如果我没理解错,这前面应该有个负号吧)
原码:01010100 (任何数原码就是他本身只不过最高位用来作为符号位而已)
补码:01010100(由于是负数取反所以为正,正数补码是其本身)
11010100
原码:11010100
补码:00101100(由于负数,补码为其取反即00101011再加1,就等于00101100)
补码:11010101 (由于负,所以转正后加一)
原码:00101010 (由补码可得 原码)
楼主 题目是 正数 下面问的又是负数
很为难啊
如果是正数的话 就是
补:00101011(正数 好办 直接对上 加起来是 1111 1111 就好了)
原:11010100(正数的原码就是本身)
明白了吗?