. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  11.5,对于8位的有符号数据,机器所能表示的范围就是-128~127。  [待解决] 回复[ 1次 ]   点击[ 633次 ]  
smallwolf
[帖 主]   [ 发表时间:2009-10-19 13:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:8
注册日期:2009-10-08 14:01
请问,为什么表示的范围不是-127~127呢?
freeman
[第1楼]   [ 回复时间:2010-02-10 23:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-02-10 17:42
呵呵,-127~127只有255个,而8bit可以表示2^8=256个数,又因为在表示数据时为了方便正负数的运算现在大多都采用2's complement notation, 也就是0~127的表示方法和unsigned的一样,但从10000000b开始表示负数其值=-(100000000b-10000000b)= -128……一直到11111111b,其表示的值=-(100000000b-11111111b)=-1,所以这种方法去除了+0和-0的可能性,因此256种不同组合形成256个不同的数。
呵呵,以上都是我的个人意见,错了希望大家积极拍砖。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved