其实我想问的不是编译器的什么的,我是有个想法,但是这个想法成立的条件是这些:例如在字符串进行比较的时候如果两个字符串是相等的那么减的结果是一串0还是一个0,如果一串0和一个0在cpu中执行的结果是否等价
例如在字符串进行比较的时候如果两个字符串是相同的那么减的结果是一串0还是一个0,我是想问下在计算机中一串0和一个0是否等价
追答字符-字符结果肯定是00000000,
在计算机的某一个字节里存的是00000000,看你用什么解释翻译它。
翻成数字就是0
看你用什么码来翻译
为什么常用计算机中+0的反码是0000 0000?
[+0]反码 = 0000 0000、[-0]反码 = 1111 1111。它们,都重复定义了“零的编码”,这就造成了混乱。这就导致,这两种代码(原码、反码),根本就无法使用。而且,由于零多占用一组代码,那么,所能表示的数字,必然就少一个。如八位的原码反码,都不能表示-128。【因此,用“取反加一”来求 ...
计算机用的是补码还是原码
八位二进制正数的补码范围是0000 0000 ~ 0111 1111 即0 ~ 127,负数的补码范围是正数的原码0000 0000 ~ 0111 1111 取反加一(也可以理解为负数1000 0000 ~ 1111 1111化为反码末尾再加一)。所以得到 1 0000 0000 ~ 1000 0001,1000 0001作为补码,其原码是1111 1111(-127),依次往前推,可得到...
计算机组成原理中的补码怎么形成?
数字 -1,用 0 减 1,即:0000 0000-1=(1) 1111 1111=255(十进制)。(括号中的 1,代表借位,没有用,舍弃掉。)数字-2,就再减去 1,得 1111 1110=254 数字-3,就再减去 1,得 1111 1101=253 。。。数字-128,减 1 ...,得 1000 0000=128 总结:零和正数,直接存放就行。
十进制为什么不能表示负数?
十进制数字,在计算机中,是以二进制存储:十进制数 0,存放的,就是二进制 0000 0000。十进制数 +1,就加上 1,二进制是 0000 0001。十进制数 +2,就再加 1,二进制是 0000 0010。。。十进制数 +127,加 1加 1...,就加到了 0111 1111。--- 负数怎么办? 你就从 0,依次递减吧。
在计算机中如何表示负数?
1是0001,推算出0是0000;-1的是1111,推算出0也是0000。如果直接用反码(0变成1,1变成0)那么0就会有两个结果。如果用第一位表示符号,后三位表示大小,那么就有空间浪费。2.char类型是8位,1000 0000还原为原码:最高位是1,表示负数,剩余的各位取反 111 1111 再+1 得到 1000 0000,+128的...
计算机中的补码是什么意思,能给最好给几个例子
也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。那么,补码为:11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011 所以,-5 在计算机中表达为:111111...
+0或者-0的源码、反码、补码
另外解释一下原码符号位和补码符号位的关系,补码的符号位不是保持原码的第一位不变,而是 符号位不变,[-0]反码的第一个1是符号位,尾数中的7个1是数值位,尾数加一后,数值位产生了进位,1111 1111+1=1 0000 0000(计算补码的过程中,并不是先保证第一位不变,而是保证符号位不变,保证补码...
c语言中 -1在内存中如何表示?
答案:1111 1111(八个一)原理如下:设(1111 1111)为原码,如果要想知道原码的十进制数是多少,需要做一下处理。先判断:当最高位是0时,表示正数,正数的原码=反码=补码,当最高位为1时,表示负数,负数的原码取反为反码,然后反码加一为补码,补码就是这个负数的绝对值。,第一步,取反;最高...
计算机原码、反码、补码的最大值和最小值各是什么?
请我给你的详解:原码、补码和反码(1)原码表示法 原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作〔x〕原。例如,X1= +1010110X2= 一1001010其原码记作:〔X1〕原=[+1010110]原=01010110〔X2〕原=[-1001010]原=11001010...
“在计算机中,原码和反码不能表示 -1。”这种说法是否正确,为什么?
“在计算机中,原码和反码不能表示 -1。”,这种说法不正确。源码和反码都能表示-1。[-1]原= 1000 0001。[-1] = [10000001]原 = [11111110]反。