打印

如何将unsign int 转为int型(即加上符号位),请指教

[复制链接]
1842|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
canghaixiao001|  楼主 | 2013-7-17 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何将unsign int 转为int型(即加上符号位),请指教
沙发
yewuyi| | 2013-7-17 11:09 | 只看该作者
你要搞清楚一点,同等字长的无符号数值强制转为有符号的数值,则数值本身的2进制编码并不会改变。

例如:
int j;
unsign int  i=0xff ;
j=(int)i ;
执行之后,i二进制编码不会改变,其表示的数值含义为65535,j的二进制编码也为0xff ,但其表示的含义为-1 ;
从这就可以知道,执行j=(int)i ;之后,从二进制编码的角度看,没有任何改变。

使用特权

评论回复
板凳
canghaixiao001|  楼主 | 2013-7-17 14:25 | 只看该作者
谢谢版主指教,我现在有两个数据,一个变量sign(0表示正,1表示负)表示正负,另一个变量value表示数值(是unsign int型,其值在0-720之间),现在我想把这两个数据整合成一个int型(即通过这一个变量直接表示数值的值及正负),望版主指教有无合适的方法。

使用特权

评论回复
地板
yewuyi| | 2013-7-17 17:53 | 只看该作者
这个不需要我讲解,你自己稍微推导一下就应该能解决。

我相信你应该能解决这些很不复杂的小问题。

自己仔细想想。

使用特权

评论回复
5
li199013| | 2013-7-17 19:07 | 只看该作者
学习了

使用特权

评论回复
6
li199013| | 2013-7-17 19:07 | 只看该作者
学习了。

使用特权

评论回复
7
canghaixiao001|  楼主 | 2013-7-17 20:33 | 只看该作者
好的,谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

12

帖子

0

粉丝