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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
r e g [0:5] B a r;
3 n0 U6 f4 u: ^9 p7 R' Di n t e g e r T a b;
) L+ e" {# b! d3 S& JB a r = - 4'd12/4;
& [0 S1 i1 ]/ zT a b = - 4'd12 /4;, A2 B0 e7 o0 h5 L; P' }0 m* M
请教大家一个问题
4 H; e0 P5 q: z# o最终bar和tab的值是多少?, V! s! S2 s$ Z0 N4 K0 M( ]
Bar定义为寄存器变量,默认的是无符号型,tab定义整型,默认32位无符号型。
- Q9 a3 P' c2 ~+ k书上说bar的最终结果是:61,tab的最终结果是:1073741821
" \9 ?& l0 x& `8 ~0 @/ V5 O8 b0 J) P
0 q' L2 P: h- T0 Z  f但是我总觉得bar的最终结果是13  (001101)# }$ N% ?4 G6 N) t2 n& e! \# c5 r- p

* K, J$ J% A# P3 a请教大家,应该到底是多少呢?

该用户从未签到

2#
发表于 2014-3-7 23:50 | 只看该作者
本帖最后由 zgq800712 于 2014-3-7 23:54 编辑 4 ?1 ?1 T- ~' h, V0 q7 s% q

6 x  f; ~- r# |2 A+ Q5 b( p3 cBar 是6位的,Bar=-4‘d12/4 ,那就是-3," a$ _' `' I$ j0 _% |/ C

! j6 @, j4 j: t最高位是符号位% r' m+ |$ T# P4 v2 T
10,0011 --- 原码
' P: W/ U) Q' \4 z6 x11,1100  ----- 反码# Y  h7 U% T: f1 H1 O' a
11,1101 ------ 补码
6 r0 t5 d6 ~  L" O7 f8 l  h* |+ J( Q* H' V, e% N+ G1 t
负数就是按补码来的;11,1101 是多少? 就是61
- M  A1 [2 y0 z) e: L% z
  [: u+ D  z6 b. I. }另外一个算的不对,我算不出来
& O7 i' E5 ~' S6 b) h1 F/ s( j
4 B+ n' M( j6 n+ y- H

该用户从未签到

3#
 楼主| 发表于 2014-3-8 17:33 | 只看该作者
zgq800712 发表于 2014-3-7 23:50
: p/ i  ~3 _) p* V- |Bar 是6位的,Bar=-4‘d12/4 ,那就是-3,- }* G/ t2 i2 a! y5 d

, G1 [& Y  D% d; `8 N# {' O最高位是符号位

! r  A+ ?) G: p另外一个也是先算的补码,因为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
2 F$ c3 l# e  [# }4 @* N2 h: E"/"的优先级高于“-”,第二个结果是不对的。
- \+ W: U( F* R7 |9 O: D
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

该用户从未签到

6#
发表于 2014-3-17 08:35 | 只看该作者
pipiliang 发表于 2014-3-14 23:41* x  l* i/ V6 w: ~3 X" Q
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

- G: ?8 E  m5 J; z  K3 F对,应该是-3。

该用户从未签到

7#
 楼主| 发表于 2014-3-26 20:44 | 只看该作者
lvsy 发表于 2014-3-17 08:35
6 F) M, S3 v! G4 L# P8 h对,应该是-3。

6 ?) a+ X: e  C# a谢谢,终于明白了

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-29 11:29 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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