前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无符号数和有符号数

无符号数和有符号数

作者头像
naget
发布2019-07-03 16:29:01
3K0
发布2019-07-03 16:29:01
举报
文章被收录于专栏:Vegout

人有十个手指头,习惯了逢十进一,于是十进制成了生活中的标准。程序的世界只有高低电平两种状态,更适合用二进制来表示,于是二进制成了程序世界的标准。 对与无符号数来说,我们更喜欢谈他们之间的转化,十进制是我们最习惯的进制,于是十进制转为R进制,R进制转为十进制变尤为重要。

无符号数

十进制——>R进制(整数部分小数部分分开转化,取到的第一个余或第一个整最接近小数点) 将十进制的217转化为二进制数(除基取余法)

所以转换结果为11011001

将十进制的0.6875转化为二进制数(乘基取整法)

转化结果为0.1011

所以217.6875转成二进制是多少你知道了吗?

R进制——>十进制(多项式代替法) 将二进制的10111.1101101转换为十进制

有符号数

对与有符号数来说,我们更喜欢谈并且才能谈这三个:原码、反码和补码。 原码:符号位用0表示正1表示负,数值位与真值一样 反码:符号位用0表示正1表示负,正数时数值位还是真值,负数时数值位是真值的按位取反 补码:符号位用0表示正1表示负,整数补码的数值位和真值相同,负数补码的数值位是真值的按位取反,在最低位加一

运算:原码运算复杂,首先需要判断是否同号,并且零的表示有两种。反码零的表示也有两种,运算时符号位与数值位一同进行运算。当符号位出现进位时,需要将进位加到运算结果的最低位,才能得到最后结果。而补码中0的表示只有一种,加法计算的规律也和无符号数一样。

小技巧: X的补码符号位连同数值位变反加一就可以得到-X的补码 对与反码、补码来说,扩展的数据位的值和原来的符号位的值是一样的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Vegout 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 无符号数
  • 有符号数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档