社区
汇编语言
帖子详情
为什么-1由8位转16位后会变成16个1而不是0000000011111111?
ScorpioZZR
2003-08-19 04:50:01
本人才疏学浅,不懂得为什么-1由8位变成16位后为什么不是0000000011111111而是1111111111111111了?
解释清的一次性给10分了。
...全文
159
12
打赏
收藏
为什么-1由8位转16位后会变成16个1而不是0000000011111111?
本人才疏学浅,不懂得为什么-1由8位变成16位后为什么不是0000000011111111而是1111111111111111了? 解释清的一次性给10分了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hwenglish
2003-08-20
打赏
举报
回复
找一本计算机组成原理的教科书来看,上面详细的不得了.
W32API
2003-08-20
打赏
举报
回复
INTEL 采用符号位扩展
GhostAdz
2003-08-20
打赏
举报
回复
用我给你的公式算
似乎没有从8位到16位的公式的
当然-1有个规律
ff
ffff
都是负一
ScorpioZZR
2003-08-20
打赏
举报
回复
帮忙看看
http://expert.csdn.net/Expert/topic/2169/2169631.xml?temp=.5149347
kjhkuhiuyhk
2003-08-20
打赏
举报
回复
这是补码
0000000011111111 十进制为255 并不是负1
而1111111111111111值为-1
UNDERSTAND???
nicememory
2003-08-20
打赏
举报
回复
同意楼上的
ScorpioZZR
2003-08-19
打赏
举报
回复
=========
嗯,请问各位
是不是说只要从8位移到16位就是要全加1的??
GhostAdz
2003-08-19
打赏
举报
回复
先要知道一个负数的补码,在计算机里就认识这个
当然正数补码就是本身了
负数变补码 有个公式的
2的n次方减负数的绝对值
n表示你想把这个负数表示成几位的2进制
就说-1 表示成16位的话 它本身是负数当然要先变成补码如下:
2^16-|-1|=65536-1=65525=FFFFh=1111111111111111b
就这样
hwenglish
2003-08-19
打赏
举报
回复
你懂什么叫补码否!
如果不懂,就先了解什么叫补码先
zhyinfo
2003-08-19
打赏
举报
回复
应该是扩展吧。8位到16位的扩展有两种方式,一种是有符号扩展,低8位数的最高位是什么则
高8位均是什么 如 11111111——>11111111 11111111,cbw 和 cwd可实现上述扩展。
另一种是无符号数扩展,不管是什么8位数,高八位均位0
如 11111111-->00000000 11111111 直接把高位清零就可以了。
zhaobird
2003-08-19
打赏
举报
回复
是上面的大哥说的。
神农氏
2003-08-19
打赏
举报
回复
是为了保持有符号数的值不变。
16位的0000000011111111 的有符号数值是255,不是-1
而16位的1111111111111111 的有符号数值才是-1
C语言-第15章-位运算
文章目录15.1 移位运算15.2 按位与、或、求反、异或运算15.3 使用位运算符 15.1 移位运算 移位运算符可以向左或向右移动整数的二进制表示。C语言提供了两个移位运算符。 符号 含义 << 左移位 >&...
C语言位操作(
转
)
<br />C语言位操作(
转
) 在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变 换使用,但是,灵活的位操作...
c语言 字节某位取反 &=,2017年计算机二级考点归纳:C语言位运算
在微机中,每个存储单元是1个字节,它由
8位
二进制数构成,可以表示28=256种信息,各位的编号从0~7,最左边的位(第7位)是位,最右边的位(第0位)是最低位。由于二进制本身的特点,各位上的数字不是1,就是0。本章中的...
C语言中的位运算
C语言位操作(
转
) 在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高...
数据类型对应的字节数
CPU一次处理数据的能力都是2的倍数,所以有
8位
、
16
位、32位、64位CPU。 (1) 64位CPU拥有更大的寻址能力,最大支持到
16
GB内存,而32位CPU只支持4G内存。 (2) 64位CPU一次可提取64位数据,比32位提高了一倍,理论上...
汇编语言
21,458
社区成员
41,603
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章