作业帮 > 数学 > 作业

带符号数乘以2?我知道二进制左移一位等于十进制的数乘以2,那么128d=1000 0000b,乘以2就是256,左移一位

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/06/16 15:52:17
带符号数乘以2?
我知道二进制左移一位等于十进制的数乘以2,那么128d=1000 0000b,乘以2就是256,左移一位应该是1 0000 0000b吧,但是左移的话,SAL或者SHL左移一位,不是1没有了,然后末尾补零么,等于0000 0000b呀?
带符号数乘以2?我知道二进制左移一位等于十进制的数乘以2,那么128d=1000 0000b,乘以2就是256,左移一位
是的,对于单字节的运算来说,这就叫做溢出.
另外你的基本概念有误:对于有符号数,1000 0000b不是128,而是-128.八位有符号数的有效范围是-128~127.
再问: 那二进制的左移一位等于SAL或SHL的左移一位么?SAL或SHL左移一位,移出来的那个数是放到CF的呀?
再答: SAL指令,是x86的汇编指令吧,就是将一个8位数据左移一位、最低位填充0。