计算机里的数都是以补码形式出现的吗

来源:百度知道 编辑:UC知道 时间:2024/05/11 18:39:19
想学汇编遇到一个问题,请大家帮忙
首先一个n位的二进制数最大可表示的数时2^n-1,比如一个6位的二进制数最大可以表示2的6次方减1那个数。我想问的是:1.计算机里的数(好像叫机器数吧)是不是必须都是以补码形式出现的。2.计算机里补码的位数是不是只能是2的正整数次方,比如4位、8位、16位(如果是这是为什么呢?)。3.如果一个8位的补码数,它是不是最大只能表示到127(2^7 -1=127)啊,因为最前面要有一个符号位占了一位,只剩7位了啊?谢谢各位了。没人教材、没人教,只能一点一点摸索

1.计算机里的数都是补码形式,因为CPU只会做加法,数的补码形式就可以用加法实现减法运算,进而以加法完成所有的运算。至于数以什么码的形式输入和输出,编程人员是可以控制的。
2.计算机里数码的位数是2的正整数次方,比如4位、8位、16位,因为CPU及周边电路一旦制成,一次处理数据位数、总线位数、各种寄存器位数就都固定下来,都是2的正整数次方位,这样选择的理由很多,可参照有关资料了解。
3.一个8位的补码数,它表示数的范围是-128~+127,原码表示数的范围是-127~+127,反码表示数的范围是-127~+127,就是因为最高位是符号位,实际数位只有7 位。

基本是
嵌入式中未必
80x86架构肯定是