怎么转换?一段不是由8位二进制相加溢出得到的嘛!最高不是255么?怎么会出现286?

关于MCS-51单片机是如何将单字节二进制数转化为BCD码的问题_百度知道
关于MCS-51单片机是如何将单字节二进制数转化为BCD码的问题
不是要分离十位数与个位数吗,这是怎么回事,余数放入B中)
MOV A,个位在B中)
(十位数交换到A的高4位)
ADD A, #100 (100作为除数送入B中)
(十六进制数除以100)
MOV R3程序如下,可是A中应该存放的是一个八位的二进制数?2 该程序的第二句&quot, A
(百位数送r3:MOV B,B
(余数放入A中, #10
(分离十位数与个位数)
XCH A;的解释是十六进制数除以100,B
(十位数与个位数相加送入 A中)
END1 请问这个程序求解的思路是什么;DIV AB&quot,除数放入B中)
(分离出十位在A中:BINBCD?3 最后为什么要十位数与个位数相加
提问者采纳
对这段程序编译之后我们输入的十进制100也变成二进制数了, #100 (B=100, B=10=0AH)DIV AB
(A=05H=5 ,运算时必须要把他转换同进制的数,B=55=37H)XCH A,比如B=C6H 也就是说二进制数每4位一段各自写成十六进制数就把二进制转换成十六进制了,B=05H)ADD A,只不过我们擅长的是十进制的运算,这是怎么回事,#100这个十进制数放于B中 然后DIV AB 这时 A等于#02H B等于#37H等于55在然后 假设A中的数为 FFHBINBCD,B等于#37H等于55)MOV R3,B
(A=02H)MOV A;100=1余6868&#47,我们通常说十六进制数是因为十六进制数和二进制数有位上的对应关系,不是要分离十位数与个位数吗,我们不会处理不同进制数之间的运算,A中存放的其实归根结底说是二进制数;10=6余88&#47,这时十位各位的BCD吗已经求出来了,这样你就好理解了?这个是你没理解cpu存数据的方式,3 最后为什么要十位数与个位数相加:45H是等于十进制的69的, #10
(A=10=0AH;的解释是十六进制数除以100;1=8余0这样就分离了百位十位和个位2 该程序的第二句&quot,机器只认识二进制数,比如说 #0FFH这个十六进制数 存放于A中, B=5=05H)SWAP A
(A=50H,将
37H=55转换为55HEND1 请问这个程序求解的思路是什么,十进制100,机器也只认识二进制数,就是我们所说的十进制数也好十六进制数也好,归根到底机器都是要把他变为二进制数的,)DIV AB
(A等于#02H,可是A中应该存放的是一个八位的二进制数,机器也是这样:MOV B,但如果你说他是BCD码他就代表十进制数45 这样你就会发现不是每个十六进制数都是BCD码的,例如AAH就不是BCD码?我想如果你清楚BCD码的含义你就明白了BCD码就是用十六进制数来表示十进制的数例如,而机器擅长的是二进制运算,B
(A=55=37H?思路就是对一个数求模和求于来分离百位十位和个位例如168168&#47,因为没有AA这样的十进制数我最后总结一下;DIV AB&quot乘除法的时候可以不考虑进制的
提问者评价
谢谢你了,讲的很精辟,已经懂了
其他类似问题
为您推荐:
其他1条回答
就是百位数。余数除以10之后,A中是商(0~2),再加上个位数,A中商是10位(0~9),就是0~255,写成十进制,B中是余数(0~99)。该程序的第二句DIV AB除以100之后。十位数交换到A的高4位,存放到R3,B中是个位(0~9)。A中的商单字节二进制数,那只是题目中要求的存放方法而已
51单片机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁ip地址219.199.199.254分别指什么?最后一组为什么只能在1-254之间?
IP地址是用计算机语言标记的即2进制数,可是为了方便我很人类使用和查看,只好转换成10进制. 具体ip地址怎么回事,你可以用几年的时间去学习,他是计算机学里面的一大学科.
IP地址是32位的二进制数值,用于在TCP/IP通讯协议中标记每台计算机的地址.通 常我们使用点式十进制来表示,如192.168.0.5等等. 每个IP地址又可分为两部分.即网络号部分和主机号部分:网络号表示其所属的网 络段编号,主机号则表示该网段中该主机的地址编号.按照网络规模的大小,IP地 址可以分为A、B、C、D、E五类,其中A、B、C类是三种主要的类型地址,D类专供 多目传送用的多目地址,E类用于扩展备用地址.A、B、C三类IP地址有效范围如下 表:
类别 网络号 /占位数 主机号 /占位数 用途 A 1~126 / 8 0~255 0~255 1~254 / 24 国家级 B 128~191 0~255 / 16 0~255 1~254 / 16 跨过组织 C 192~223 0~255 0~255 / 24 1~254 / 8 企业组织
随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太 多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT 在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划 分,以形成多个子网,提供给不同规模的用户群使用. 这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部分取 作为子网号,从通常的网络位界限中扩展或压缩子网掩码,用来创建某类地址的更 多子网.但创建更多的子网时,在每个子网上的可用主机地址数目会比原先减少.
子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一 个为1代表该位是网络位,为0代表主机位.它和IP地址一样也是使用点式十进制来 表示的.如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们 共属于同一子网中. 在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址, 它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络 地址和广播地址,一般是不能被计算在内的.
下面就来以实例来说明子网掩码的算法: 对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写 出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码为 255.255.0.0.如果它是一个C类地址,则其子网掩码为 255.255.255.0.其它类 推,不再详述.下面我们关键要介绍的是一个IP地址,还需要将其高位主机位再作 为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的 掩码计算. 一、利用子网数来计算 在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数 目. 1)将子网数目转化为二进制来表示 2)取得该二进制的位数,为 N 3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址 划分子网的子网掩码. 如欲将B类IP地址168.195.0.0划分成27个子网: 1)27=11011 2)该二进制为五位数,N = 5 3)将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0 即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码. 二、利用主机数来计算 1)将主机数目转化为二进制来表示 2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二 进制位数,为 N,这里肯定 N8,这就是说主机地址将占 据不止8位. 3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的 将N位全部置为 0,即为子网掩码值. 如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台: 1) 700= 2)该二进制为十位数,N = 10 3)将该B类地址的子网掩码255.255.0.0的主机地址全部置 1,得到 255.255.255.255 然后再从后向前将后 10位置0,即为: 00. 即255.255.252.0.这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子 网掩码. 下面列出各类IP地址所能划分出的所有子网,其划分后的主机和子网占位数,以及 主机和子网的(最大)数目,注意要去掉保留的IP地址(即划分后有主机位或子网 位全为“0”或全为“1”的): A类IP地址: 子网位 /主机位 子网掩码 子网最大数 /主机最大数 2/22 255.192.0.0 2/4194302 3/21 255.224.0.0 6/2097150 4/20 255.240.0.0 14/1048574 5/19 255.248.0.0 30/524286 6/18 255.252.0.0 62/262142 7/17 255.254.0.0 126/131070 8/16 255.255.0.0 254/65536 9/15 255.255.128.0 510/32766 10/14 255.255.192.0
11/13 255.255.224.0
12/12 255.255.240.0
13/11 255.255.248.0
14/10 255.255.252.0
15/9 255.255.254.0
16/8 255.255.255.0
17/7 255.255.255.128
18/6 255.255.255.192
19/5 255.255.255.224
20/4 255.255.255.240
21/3 255.255.255.248
22/2 255.255.255.252
B类IP地址: 子网位 /主机位 子网掩码 子网最大数 /主机最大数 2/14 255.255.192.0 2/16382 3/13 255.255.224.0 6/8190 4/12 255.255.240.0 14/4094 5/11 255.255.248.0 30/2046 6/10 255.255.252.0 62/1022 7/9 255.255.254.0 126/510 8/8 255.255.255.0 254/254 9/7 255.255.255.128 510/126 10/6 255.255.255.192 1022/62 11/5 255.255.255.224 2046/30 12/4 255.255.255.240 4094/14 13/3 255.255.255.248 8190/6 14/2 255.255.255.252 16382/2 C类IP地址: 子网位 /主机位 子网掩码 子网最大数 /主机最大数 2/6 255.255.255.192 2/62 3/5 255.255.255.224 6/30 4/4 255.255.255.240 14/14 5/3 255.255.255.248 30/6 6/2 255.255.255.252 62/2
再根据CCNA中会出现的题目给大家举个例子:
首先,我们看一个考试中常见的题型:一个主机的IP地址是202.112.14.137,掩码 是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址.
常规办法是把这个主机地址和子网掩码都换算成二进制数,两者进行逻辑与运算后 即可得到网络地址.其实大家只要仔细想想,可以得到另一个方法:255.255.255. 224的掩码所容纳的IP地址有256-224=32个(包括网络地址和广播地址),那么 具有这种掩码的网络地址一定是32的倍数.而网络地址是子网IP地址的开始,广播 地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的 只有128,所以得出网络地址是202.112.14.128.而广播地址就是下一个网络的网 络地址减1.而下一个32的倍数是160,因此可以得到广播地址为202.112.14.159. 可参照下表来理解本例.
子网络 2进制子网络域数 2进制主机域数的范围 2进制主机域数的范围 第1个子网络 000 00000 thru 11111 .0 thru.31 第2个子网络 001 00000 thru 11111 .32 thru.63 第3个子网络 010 00000 thru 11111 .64 thru.95 第4个子网络 011 00000 thru 11111 .96 thru.127 第5个子网络 100 00000 thru 1 thru.159 第6个子网络 101 00000 thru 1 thru.191 第7个子网络 110 00000 thru 1 thru.223 第8个子网络 111 00000 thru 1 thru.255
CCNA考试中,还有一种题型,要你根据每个网络的主机数量进行子网地址的规划和 计算子网掩码.这也可按上述原则进行计算.比如一个子网有10台主机,那么对于 这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网 络地址和广播地址.因为13小于16(16等于2的4次方),所以主机位为4位.而
256-16=240
所以该子网掩码为255.255.255.240.
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子 网,而忘记了给网关分配地址.这样就错误了,因为:
14+1+1+1=17
17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网.这时 子网掩码为:255.255.255.224.
为您推荐:
扫描下载二维码二进制如何运算,如何转换为其他数字?不熟练的请慎重回答,谢谢。_百度知道
二进制如何运算,如何转换为其他数字?不熟练的请慎重回答,谢谢。
另外再请解释下二进制怎麽与其他数制转换呢。小数目还好,若数字大了没有公式昨天弱弱地问了二进制含义及转换,刚弄懂,真很难搞懂,求解释
提问者采纳
2-1位… 1,或加后面加B表示。
为区别于其它进制数.000 低位二进制小数
纯小数位被全乘为0时。
要想学会,表示具有两个不同稳定状态的元器件:二进制数可以写成(,二进制数的书写通常在数的右下方注上基数2:它由两个基本字符0,大大简化了计算中运算部件的结构,二进制数运算规律是逢二进一,注重在多练,得准确二进制纯小数,无电流,所以又提出了十六进制数,即,无电流用0表示。
0+0=0 0+1=1+0=1 1+1=10
0×0=0 0×1=1×0=0 1×1=1
由于二进制数在使用中位数太长,回写(从高位回到低位)余数便是所求二进制数,欲速则不达:
1) 二进制数中只有两个字符0和1,1组成,这是因为二进制数具有以下特点.625)10
⑵十进制数转换成二进制数
①十进制整数转换成二进制整数(除基(2)取余法)
…………1…………0位 低位二进制整数
2 498 …………0…………1位
2 249 …………0…………2位
2 124 …………1…………3位
2 62 …………0…………4位
2 31 …………0…………5位
2 15 …………1…………6位
2 7 …………1…………7位
2 3 …………1…………8位
2 1 …………1…………9位
0 …………1…………10位 高位二进制整数
注意。例如。类似的还比如电路中电压的高.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3 =(11,除到0商时结束2除步,电路中有,其中101是顺写的积整位(从高位到低位)数.625)10=(0. ⑴二进制数转换成十进制数
[例]()2=1×210+1×29+1×28+1×27+1×26+0×25+0×24
+1×23+0×22+0×21+1×20
(1011,晶体管的导通和截止等,对于十进制数可以不加注,低,不容易记忆。
2) 二进制数运算简单。
二进制数的加法和乘法运算如下有两个特点.计算机中的数据均采用二进制数表示,有电流用1表示。多练练就熟能生巧了:(
②十进制纯小数转换成二进制纯小数(乘基(2)取整法)
0. 250 高位二进制小数
2-2位… 0,多算. 500
2-3位 1;否则(纯小数位永远被2乘不为全是0)只能化成满足某一精确度要求的二进制小数的近似值.101)2是准确值。例中(0,或写成B
其他类似问题
为您推荐:
其他1条回答
二进制数转换成十进制数 二进制的1101转化成十进制 1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13
转化成十进制要从右到左用二进制的每个数去乘以2的相应次方 不过次方要从0开始 相反 用十进制的13除以2 每除一下将余数就记在旁边 最后按余数从下向上排列就可得到1101 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果 例如302 302/2 = 151 余0
151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 1/2 = 0 余1 故二进制为
二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:.转十进制 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘...
二进制的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如图是87-(-73)的二进制补码运算,可是最高位没法借位了,请问该怎么办呢?_百度知道
如图是87-(-73)的二进制补码运算,可是最高位没法借位了,请问该怎么办呢?
提问者采纳
-(-73)=73 ,其补码即本身87+73之和超过127,所以要用16位二进制数计算。01 011100 1001+---------------------------------10 0000------俯恭碘枷鄢磺碉委冬莲---结果为160
什么情况下要用16位二进制算?
8位二进制表示数的范围为-128~1279位二进制表示数的范围为-256~25510位二进制表示数的范围为-512~511当结果超出数的表示范围时,需要加长位数。本题用9位二进制即可,但计算机中一般是以8的倍数扩展的,所以用16位。
还是你最棒了!谢谢啦!
兄弟,10 0000的符号位怎么看?
最高位为0,表示这个数为正数。
那如果是10 0000这个16位二进制最高位是中间第八位那个1吗?是负数对吗?
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
其他1条回答
最高位不够减,“照借不误”。实际上要计算机内,加法有加法器实现,减法是转换成补码的加法(加上减数的相反数)来运算的。
为什么两种结果会不一样呢?还有87加73最后一位1+1不是10吗?应该是0吧
有人说超过127要用16位来算对吗?
答案是160,但是符号位怎么是1负的
Sorry上面的右图中,末位数字明显是错了。1+1=10。应该是:这二个数字都是“溢出”了。看第二个就更明显了。二个正数相加,却得到了一个负数(符号位为1,表示是负数)。直接照答案看,就是-96。(补码是,反码是,原码是,即-96)这就是“溢出”的缘故。实际的值是256+(-96)=160
二进制补码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁二进制怎么化十进制请问十进制怎么转二进制啊?
矫情控丶踗卯gj
1. 十进制整数转换为二进制整数十进制整数转换为二进制整数采用"除2取余,逆序排列"法.具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来.十进制整数转二进制如:255=()B255/2=127余1789=789/2=394.5 =1 第10位394/2=197 =0 第9位197/2=98.5 =1 第8位98/2=49 =0 第7位49/2=24.5 =1 第6位24/2=12 =0 第5位12/2=6 =0 第4位6/2=3 =0 第3位3/2=1.5 =1 第2位1/2=0.5 =1 第1位 2. 二进制整数转换为十进制整数由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和.这种做法称为"按权相加"法.例如二进制数1000110转成十进制数可以看作这样:数字中共有三个1 即第二位一个,第三位一个,第七位一个,然后十进制数即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方数即1的位数减一.2的0次方是1(任何数的0次方都是1,0的0次方无意义)2的1次方是22的2次方是42的3次方是82的4次方是162的5次方是322的6次方是642的7次方是1282的8次方是2562的9次方是5122的10次方是10242的11次方是20482的12次方是40962的13次方是81922的14次方是163842的15次方是327682的16次方是655362的17次方是1310722的18次方是2621442的19次方是5242882的20次方是1048576
请问是不是要用短除法求?怎么求?
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 二进制数相加 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信