无符号十进制word和有符号十进制数int区别

无符号十进制word和有符号十进制数int区别

ID:24000211

大小:24.50 KB

页数:3页

时间:2018-11-12

无符号十进制word和有符号十进制数int区别_第1页
无符号十进制word和有符号十进制数int区别_第2页
无符号十进制word和有符号十进制数int区别_第3页
资源描述:

《无符号十进制word和有符号十进制数int区别》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、无符号十进制word和有符号十进制数int区别  字(word)数据格式包括无符号十进制,范围b#(0,0)~b#(255,255),16位。  整数(int)数据格式为有符号十进制数,范围-32763~+32767,16位。  请问:1.这两种数据格式只是十进制数的正负号区别吗?  2.为什么一种用字节b#表示,一种用纯数字十进制表示?  3.b#(255,255),这种表示方法是什么意思?    问题补充:  谢谢几位老师的解答,我还有一点疑问,字(word)数据格式包括bcd码。  书上介绍说bcd码表示的十进制数是为了和人打交道方便,而且可以提高人

2、的工作效率。二进制转ascii码、转十进制整数(int)、转bcd码,都是计算机内部直接转换,个人认为内部转换和人的工作效率没有关系。而且同样一个二进数数用ascii码和bcd码表示的数值还不一样,容易让人误解。我的问题是:  1.既然制定了ascii码、十进制整数(int)显示十进制数,bcd码显示不了优势,为什么还要制定bcd码?  2.计算机内部二进制转十进制整数要用bcd码过渡转换吗?      最佳答案                先来了解一下机器编码代表的含义。  例如,如下存储空间存储如下数据  mw0=w#16#8001,.对于赋值,梯形

3、图用move指令,用stl指令表,则采用t装载和l传送指令共同实现。则其中mb0=b#16#80,mb1=b#16#0  所以,上面“峰转花明”的理解是错误的。  因数据类型的定义规范的存在,mw0被机器理解成的变量类型不一样,则所代表的数字大小不一样  若定义为word类型,则mw0=w#16#8001=32769,无关符号。  若定义为int类型,则mw0=w#16#8001=-32767,为负数  mw0被机器识别为何种数据类型,则要看mw0参与了何种运算。例如参与比较、转换、整数运算、整数右移,则会被机器理解会int型数据,若参与字逻辑、字移位,会

4、被机器理解为word。  例如mw0=w#16#8001用move指令直接赋值给md2,这里不涉及类型识别,则md2=dw#16#00008001,则无论后续参与何种运算怎么样理解,md2=+32769,若使用i_di指令,将mw0赋值给md2,则md=dw#16#ffff8001,该指令将mw0自动识别为int型数据。  对于你的问题  1.这两种数据格式只是十进制数的正负号区别吗?  对于word类型常数,赋值给变量,可以有多种表示方式。b#(*,*)只是其中一种。b(*,*)表示按字节描述,其中*数据,按十进制书写,不能是二进制、也不是16进制。例如

5、b#(f8,01)就是错误的写法。  2.为什么一种用字节b#表示,一种用纯数字十进制表示?  这是规定,便于机器识别。当机器见到b#(*,*)则认为这是按字节以十进制书写的数值,程序可以自动转换为16进制书写的数据。对于以纯数字书写的数据,则自动识别为真正意义上的数,例如12,就是int数据,12.0就会理解为浮点数。  3.b#(255,255),这种表示方法是什么意思?  b#(255,255)=w#16#ffff,也就是b#(255,255)只是一种书写方式的不同而已。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。