找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 962|回复: 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;
1 z8 n4 E& D) \8 @% m' d' ^i n t e g e r T a b;
3 F( P# o# @# o2 Z& T5 B! JB a r = - 4'd12/4;
2 G1 p& _  o& R& x) sT a b = - 4'd12 /4;
) A0 A. U+ N" G7 d3 j请教大家一个问题
# i' ^7 I. ?/ Y/ e! B2 l4 Y. J6 h" \最终bar和tab的值是多少?
& L3 A9 l6 g* l3 z5 EBar定义为寄存器变量,默认的是无符号型,tab定义整型,默认32位无符号型。0 f9 L+ e  Z& ]* F
书上说bar的最终结果是:61,tab的最终结果是:1073741821
. R2 I7 P& |$ E  z7 Q! @# N/ P9 j; F& }8 G! j1 g; ]# ^. |
但是我总觉得bar的最终结果是13  (001101)9 W" n8 K- i6 f- ?* D# [' B
8 l$ @# b0 v0 N+ Z2 O/ l
请教大家,应该到底是多少呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

49

主题

670

帖子

4310

积分

五级会员(50)

Rank: 5

积分
4310
2#
发表于 2014-3-7 23:50 | 只看该作者
本帖最后由 zgq800712 于 2014-3-7 23:54 编辑 1 w: n/ U* E3 n* d

+ B! `+ ~9 n6 ?6 w: c9 u3 g/ YBar 是6位的,Bar=-4‘d12/4 ,那就是-3,
; K- v) R' b$ C1 B* n3 o6 ?; _9 W0 A) M, @; n; O; Y
最高位是符号位0 J) @) O6 S: h
10,0011 --- 原码: o* H+ _, x0 C6 \
11,1100  ----- 反码  y% d6 `' s. x4 J( T/ P9 h
11,1101 ------ 补码
  U( |2 x9 ]) I
: r8 _* Q& _9 ]7 _负数就是按补码来的;11,1101 是多少? 就是61
' A% K1 V. |) U6 s' E1 q
9 ?. o; Q8 G; I( ~' p0 H' N另外一个算的不对,我算不出来
+ i0 i7 f( C7 ~9 e, d
" K1 H# E5 c$ I' B* O$ h
硬件工程师[原理图+PCB],电驱动方面,无刷控制器,电动工具,太阳能无刷泵,锂电保护板,仅限Altium。

25

主题

95

帖子

447

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
447
3#
 楼主| 发表于 2014-3-8 17:33 | 只看该作者
zgq800712 发表于 2014-3-7 23:50( K2 Z( r7 @% n5 i+ o' V) ?% N
Bar 是6位的,Bar=-4‘d12/4 ,那就是-3,4 q" P" w) a: b! ?  ?1 L

9 q% b% g2 I8 {1 W7 F2 `! _& A最高位是符号位

, O$ j7 c  e+ Z9 _# [$ L另外一个也是先算的补码,因为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:59. ?8 I6 n# W  _; z' k, K. E' [9 ], h; _) K
"/"的优先级高于“-”,第二个结果是不对的。

0 M2 f$ z- Y8 i这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

4

主题

43

帖子

913

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
913
6#
发表于 2014-3-17 08:35 | 只看该作者
pipiliang 发表于 2014-3-14 23:41
* K6 q/ `/ Y! _这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?
" \# O9 O- a5 k: r2 ?0 `
对,应该是-3。

25

主题

95

帖子

447

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
447
7#
 楼主| 发表于 2014-3-26 20:44 | 只看该作者
lvsy 发表于 2014-3-17 08:35& c+ H) z) s1 u1 B+ C( o5 f, C" i- P
对,应该是-3。
8 Z) A' P& r- y- u" f2 i4 I$ L0 E
谢谢,终于明白了

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-9 10:44 , Processed in 0.062187 second(s), 32 queries , Gzip On.

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

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

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