① 负十六分之一的原码
负十六凯斗分之一,其二进制是:-0 . 0001。
可以写成八位定点小数。早带
原码:1 0001 000。
反码陆孙芦:1 1110 111。
补码:1 1111 000。
② 一个数的原码,反码,补码怎么算
计算机中的存储系统都是用2进制储存的,对我们输入的每一个信息它都会自动转变成二进制的形式,而二进制在存储的时候就会用到原码,反码和补码例如:输入25原码是:0000000000011001反码: 1111111111100110 补码: 1111111111100111
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚. "(摘自<<数学发展史>>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制(23).下面进入正题.
数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为
(-127~-0 +0~127)共256个.
有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits
( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10
(00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确.
因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应. 下面是反码的减法运算:
( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10
(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有问题.
( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10
(00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正确
问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).
于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为:
(-128~0~127)共256个.
注意:(-128)没有相对应的原码和反码, (-128) = (10000000) 补码的加减运算如下:
( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10
(00000001)补 + (11111111)补 = (00000000)补 = ( 0 ) 正确
( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10
(00000001) 补+ (11111110) 补= (11111111)补 = ( -1 ) 正确
所以补码的设计目的是:
⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.
⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计
所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码
③ 原码是什么
问题一:什么是原码 原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位),该位为0表示正数,该位为1表示负数,其纯塌余位表示数值的大小。
原码的优点:简单直观;例如,我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011
缺点:原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001+10000001=10000010,换算成十进制为130。显然出错了。
所以原码的符号位不能直接参与运算,必须和其他为分开,这就增加了硬件的开销和复杂性
具体定义还分小数和整数:
①小数原码的定义
[X] =
X 0≤X <1
1- X -1 < X ≤ 0
例如: X=+0.1011 , [X]原= 01011
X=-0.1011 [X]原= 11011
②整数原码的定义
[X]原 =
X 0≤X <2n
2n-X - 2n < X ≤ 0
问题二:请问原码和源码有什么区别? 20分 没有区别。顶多是习惯性的:源代码,更倾向于代码、复杂高深的代码。
源码算是源代码的简称,包括源代码、及相关可直接运行的文件,即源文件。
一般情况下,源码=源文件。
问题三:什么是原码,补码,反码 1)原码表示 原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作[x]原。 例如,X1= +1010110 X2= 一1001010 其原码记作: [X1]原=[+1010110]原=01010110 [X2]原=[-1001010]原=11001010 在原码表示法中,对0有两种表示形式: [+0]原=00000000 [-0] 原=10000000 2)补码表示 机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,隐悔则X的补码表示记作[X]补。 例如,[X1]=+1010110 [X2]= 一1001010 [X1]原=01010110 [X1]补=01010110 即 [X1]原=[X1]补=01010110 [X2] 原= 11001010 [X2] 补=10110101+1=10110110 机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数做携圆是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。 例如,[X1]=+1010110 [X2]= 一1001010 [X1]原=01010110 [X1]补=01010110 即 [X1]原=[X1]补=01010110 [X2] 原= 11001010 [X2] 补=10110101+1=10110110 (3)反码表示法 机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作[X]反。 例如:X1= +1010110 X2= 一1001010 [X1]原=01010110 [X1]反=[X1]原=01010110 [X2]原=11001010 [X2]反=10110101 反码通常作为求补过程的中间形式,即在一个负数的反码的未位上加1,就得到了该负数的补码。 例1. 已知[X]原=10011010,求[X]补。 分析如下: 由[X]原求[X]补的原则是:若机器数为正数,则[X]原=[X]补;若机器数为负数,则该机器数的补码可对它的原码(符号位除外)所有位求反,再在未位加1而得到。现给定的机器数为负数,故有[X]补=[X]原十1,即 [X]原=10011010 [X]反=11100101+1 [X]补=11100110 例2. 已知[X]补=11100110,求[X]原。 分析如下: 对于机器数为正数,则[X]原=[X]补 对于机器数为负数,则有[X]原=[[X]补]补 现给定的为负数,故有: [X]补=11100110 [[X]补]反=10011001+1 [[X]补]补=10011010=[X]原+1 [[X]补]补=10011010=[X]原 总结一下,原码(为负时,正时都不变)全部取反即得到反码,反码加 1就得到补码了,就是这么简单。
问题四:一个二进制数11010100的原码,补码是什么? 计算机里表示正负不是用+、-号表示的
11010100如果是原码就没有所谓的+或-
因为原码的最高位表示的是符号位,1为负数,0为正数
负数的补码是除符号外其余各位按位取反后加1,为10101100
如果11010100是二进制码
它本身是个正数,它的原码要看用几位二进制表示,如果是八位就超出范围了因为最高位要作为符号位后七位才能用来表示数值,用十六的二进制表示则最高位用0表示,数值前多出的用0补则11010100的十六位二进制原码为0000000011010100,正数的补码就是原码
而-11010100的十六位二进制原码最高位符号位后面的作为数值位补0,则1000000011010100,负数的补码则是符号位不变其余各位按位取反最后末尾加1,则有-11010100的十六位二进制补码为1111111100101100
问题五:1,0001011的原码是什么 如果是8位的话,第一位表示符号位,
负数为1,正数为0,
-1原码就是 10000001
第一个1对应于负号,
最后一个1对应于“2的零次方”=1
就是这样算的,换成二进制表示再加个符号位而已
问题六:-1.1的原码是什么 如果-1.1是真值的话,那他的原码为:11.1
问题七:原码这里,是什么意思 源代码(也称源程序),是指一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。 代码组合 源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。 较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。 还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。 质量 对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。 源代码主要功用有如下贰种作用: 依、生成目标代码,即计算机可以识别的代码。 贰、对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。 (需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。 ) 如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法
问题八:-11011011的原码,补码,反码分别是什么 -91原码:11011011反码:10100100补码:10100101-80原码:11010000反码:10101111补码:10110000-73原码:11001001反码:10110110补码:10110111-53原码:1110101反码:1001010补码:1001011真值为正时。其原码,反码,补码完全相同。真值为负时,其原码就是把负号改为1,其余不变。反码就是负号改为1,其余取反。补码就是在反码的基础上加1,加1时记得是逢2进1。
问题九:原码,反码和补码表示的规则分别是什么 一. 机器数和真值
在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念.
1、机器数
一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。
那么,这里的 00000011 和 10000011 就是机器数。
2、真值
因
为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3
而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
例:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = C000 0001 = C1
二. 原码, 反码, 补码的基础概念和计算方法.
在探求为何机器要使用补码之前, 让我们先了解原码, 反码和补码的概念.对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式.
1. 原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:
[1111 1111 , 0111 1111]
即
[-127 , 127]
原码是人脑最容易理解和计算的表示方式.
2. 反码
反码的表示方法是:
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算.
3. 补码
补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.
问题十:6的原码 反码 补码分别是什么? 源码、反码、补码都是00000110
④ 怎么求一个负数的原码和补码
补码,来自于:补数。
一般的常识:
钟表时针,倒拨 3 小时,可以用“正拨 9 小时”来代替。
同理,分针 倒拨 X 分,可以用 正拨 60-X 代替。
60 是分针的周期。
十进制数,两位:0~99,周期就是一百。
-1 可以用 +99 代替。
如:25 - 1 = 24
25 + 99 = (1) 24
忽略进位 1 百,结果就是相同的。
那么,-1 的补数,就是 99 。
-2 的补数,就是 98 。
-X 的补数,就差唯是【 周期 + 该负数 】。
--------
借助于补数,就可以用加法,代替减法运算。
所以,计算机就可以节省硬件了。
--------
八位二进制:0000 0000~1111 1111(0~255)。
周期是 256。
那么,-1 可以用 1111 1111 (+255) 代替。
即:
冲庆塌-1 的补码,就是 1111 1111 (= 256-1=+255) 。
-2 的补码,就是 1111 1110 (= 256-2=+254) 。
。。。
-X 的补码,就是【 周期 + 该负数 】。散圆
-128,就可以用 1000 0000 (= 128)代替 。
正数,不需要变换,直接运算即可。
--------
在计算机中,负数,就是用补码存储、计算的。
原码和反码,毫无用处,它们在计算机中都不存在。
⑤ -1/16补码怎么算 这个数是 负十六分之一 求详细解法 感激不尽
1/16=0.0001B
负数为补码为取反+1