找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 959|回复: 8
打印 上一主题 下一主题

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

[复制链接]

25

主题

95

帖子

447

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

EDA365欢迎您!

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

x
r e g [0:5] B a r;
7 u! ~1 a& q/ R: q: [7 p% {2 Ki n t e g e r T a b;
) u$ h1 \0 c( {+ F, IB a r = - 4'd12/4;* M* j$ [6 s& Z0 o" u% w
T a b = - 4'd12 /4;2 L9 X4 i; Z+ T3 z# }$ a
请教大家一个问题
/ d2 t- E* T, i3 i, }7 i7 x& N6 K最终bar和tab的值是多少?$ \8 O/ H* V+ `$ G
Bar定义为寄存器变量,默认的是无符号型,tab定义整型,默认32位无符号型。0 N; I) S: L+ ]& d$ m4 K, M
书上说bar的最终结果是:61,tab的最终结果是:1073741821* W2 z! l3 ]/ |# t; n
5 j6 L1 {# N8 w3 s* u) L$ J
但是我总觉得bar的最终结果是13  (001101). D2 _- U2 T; ^5 a. M* _
$ w& p5 V, H- w' M/ k+ D
请教大家,应该到底是多少呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2014-3-7 23:50 | 只看该作者
本帖最后由 zgq800712 于 2014-3-7 23:54 编辑   w2 F" v' C, \6 m* F, o, ^4 y; M' I' C

) `$ r3 U/ u3 xBar 是6位的,Bar=-4‘d12/4 ,那就是-3,# u2 H, V. I9 c9 K5 x% e2 _! N; z
3 o0 T+ h; U' d% S2 L! v5 e/ V
最高位是符号位
* j# f2 A+ f8 d; }9 A4 _- _% o/ x10,0011 --- 原码  p2 A3 h) F; y  i+ I- K6 H; `7 o
11,1100  ----- 反码  e1 s3 T( c! \; E! [. i9 o* X
11,1101 ------ 补码) ?# u, W. {" ]5 k. h

' {7 b! h# u2 j* s5 M负数就是按补码来的;11,1101 是多少? 就是615 o# a" N2 K; ~7 j0 H

5 ?7 m6 l# C& Y- R6 T8 a8 {另外一个算的不对,我算不出来
" O7 D2 L6 q! [8 V6 [
8 ~3 R$ ~0 W; l1 ]0 i, L; n3 f
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

25

主题

95

帖子

447

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
447
3#
 楼主| 发表于 2014-3-8 17:33 | 只看该作者
zgq800712 发表于 2014-3-7 23:50
" m0 u- T% ^- S+ U% w) {- ]4 VBar 是6位的,Bar=-4‘d12/4 ,那就是-3,
* z2 }, F; t4 b+ e' B' U  y5 E; r1 z
最高位是符号位
( K3 E; n+ H! X, i& f
另外一个也是先算的补码,因为tab是整形变量,默认32位,所以- 4'd12要先转化为32位的补码为FFFF_FFF4再进行计算,因为基数形式默认的是无符号型,所以便是:FFFF_FFF4/4=3FFF_FFFD它的十进制数就是:1073741821。这个数就是这么来的。所以我Bar的结果我总感觉不对,觉得应该是先将- 4'd12转化为6位的二进制补码110100=52,然后再除以4,结果得到的应该是13.

4

主题

43

帖子

913

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

25

主题

95

帖子

447

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
447
5#
 楼主| 发表于 2014-3-14 23:41 | 只看该作者
lvsy 发表于 2014-3-10 10:596 I$ W5 c  j" ?8 ~6 {$ R" @7 W
"/"的优先级高于“-”,第二个结果是不对的。
4 y; y1 k( C! i) t
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

4

主题

43

帖子

913

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
913
6#
发表于 2014-3-17 08:35 | 只看该作者
pipiliang 发表于 2014-3-14 23:41; ^- N7 |3 W  c9 e) D& J
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?
, l- p+ C$ k% B0 X) Q2 s. e6 ?
对,应该是-3。

25

主题

95

帖子

447

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
447
7#
 楼主| 发表于 2014-3-26 20:44 | 只看该作者
lvsy 发表于 2014-3-17 08:35% l7 R& ~9 L4 D7 \# q& t
对,应该是-3。
. X& S# c' }( k8 f
谢谢,终于明白了

1

主题

72

帖子

325

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
325
8#
发表于 2014-3-29 10:07 | 只看该作者
VHDL  有符号库和无符号库, 用谁是谁。 无纠结

32

主题

331

帖子

334

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
334
9#
发表于 2015-5-28 14:47 | 只看该作者
感謝分享~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-7 06:16 , Processed in 0.060850 second(s), 32 queries , Gzip On.

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

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

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