找回密码
 注册
关于网站域名变更的通知
查看: 1730|回复: 8
打印 上一主题 下一主题

一个关于无符号数和有符号数的问题,各路大神,有时间进来看看

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-3-7 23:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
r e g [0:5] B a r;
2 h/ M. A# y* N1 x! h9 t  [$ Ii n t e g e r T a b;
+ U5 x% E! z" ^* z3 JB a r = - 4'd12/4;
0 x" E9 C5 ?) oT a b = - 4'd12 /4;% h' Y9 V5 V3 V2 i+ D# t. g
请教大家一个问题
! V0 R, ], H. r! \( k. `1 b" w8 }' I9 V5 o最终bar和tab的值是多少?" _/ |) E; [) Y- G: j
Bar定义为寄存器变量,默认的是无符号型,tab定义整型,默认32位无符号型。
# }. h# c1 K% B1 U  }书上说bar的最终结果是:61,tab的最终结果是:10737418218 G8 j% R% a* H

# J7 h0 a. u& l* Z  z1 D- Y5 B但是我总觉得bar的最终结果是13  (001101)
  z( @8 H) V# E# T2 U9 v% a. t . M  C/ s: O: i+ O+ l0 u
请教大家,应该到底是多少呢?

该用户从未签到

2#
发表于 2014-3-7 23:50 | 只看该作者
本帖最后由 zgq800712 于 2014-3-7 23:54 编辑
3 Y, J' t7 t- [1 g9 ~
( p) r% q5 |! I6 c9 ?% l, EBar 是6位的,Bar=-4‘d12/4 ,那就是-3,8 J7 Y1 {; o! `1 p" V' G

+ f6 i: d5 r$ [5 p+ f) k最高位是符号位
) G7 K8 @% Q7 L10,0011 --- 原码
0 o! Z8 W7 L, @" U# K4 h, D; ^+ r' t11,1100  ----- 反码& H; y0 H9 k' b; \" @* E; n9 n
11,1101 ------ 补码
6 s' C  H. H$ e( z- ?
. q! B6 w% B0 s$ |0 `负数就是按补码来的;11,1101 是多少? 就是61! w3 y7 g# b4 i1 P4 L( q

. Q, l' c% [# X0 c+ r$ }% M另外一个算的不对,我算不出来" y4 E! a; O- n" i% u$ ^5 E

: ^+ l9 X/ p( E* i% h' c( f, ]

该用户从未签到

3#
 楼主| 发表于 2014-3-8 17:33 | 只看该作者
zgq800712 发表于 2014-3-7 23:50) Z8 \1 |3 [& Z4 l( O( y1 t
Bar 是6位的,Bar=-4‘d12/4 ,那就是-3,
* q6 {; p$ e3 c- _3 w4 x; Q7 p# H+ Y( x4 u. R- C7 u5 {6 z% [
最高位是符号位
  W+ M! Y3 @+ V3 g
另外一个也是先算的补码,因为tab是整形变量,默认32位,所以- 4'd12要先转化为32位的补码为FFFF_FFF4再进行计算,因为基数形式默认的是无符号型,所以便是:FFFF_FFF4/4=3FFF_FFFD它的十进制数就是:1073741821。这个数就是这么来的。所以我Bar的结果我总感觉不对,觉得应该是先将- 4'd12转化为6位的二进制补码110100=52,然后再除以4,结果得到的应该是13.

该用户从未签到

4#
发表于 2014-3-10 10:59 | 只看该作者
"/"的优先级高于“-”,第二个结果是不对的。

该用户从未签到

5#
 楼主| 发表于 2014-3-14 23:41 | 只看该作者
lvsy 发表于 2014-3-10 10:59
. g0 K$ Z' K$ `" p' L# t"/"的优先级高于“-”,第二个结果是不对的。
! L% E; L: o, K0 K; z
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

该用户从未签到

6#
发表于 2014-3-17 08:35 | 只看该作者
pipiliang 发表于 2014-3-14 23:41
2 v9 ]" Q9 b4 v% `! L/ u这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?
& P* t  ]# [, @0 t% H
对,应该是-3。

该用户从未签到

7#
 楼主| 发表于 2014-3-26 20:44 | 只看该作者
lvsy 发表于 2014-3-17 08:35
' s1 e, [7 U& h  e# m7 i对,应该是-3。
: U  D# g4 v' w2 I8 s, N$ Q3 ^
谢谢,终于明白了

该用户从未签到

8#
发表于 2014-3-29 10:07 | 只看该作者
VHDL  有符号库和无符号库, 用谁是谁。 无纠结
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-28 21:27 , Processed in 0.140625 second(s), 25 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表