24小时热门版块排行榜    

查看: 2075  |  回复: 14
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

晴间多云

木虫 (正式写手)

[求助] 开头为1的二进制数如何转换为十进制数 已有2人参与

例如:11101011 ,书上说首位是零的话,说明是一个负整数,是这样吗?
该如何转换为十进制?
回复此楼
在生活中要学会独立思考和解决一些问题!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晴间多云

木虫 (正式写手)

引用回帖:
2楼: Originally posted by Leodom at 2014-12-15 22:32:48
整数二进制转换为十进制:
首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。
 先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到 ...

但是反过来算呢?把-20转换成二进制呢?好像是11101100
这个是我用笔记本上的计算器算的:
开头为1的二进制数如何转换为十进制数
1.png


开头为1的二进制数如何转换为十进制数-1
2.png

在生活中要学会独立思考和解决一些问题!
3楼2014-12-15 23:17:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

Leodom

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
晴间多云: 金币+10, ★★★很有帮助, 回答的很详细 2014-12-15 23:14:42
整数二进制转换为十进制:
首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。
 先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制,比如1010转换为十进制为10
若二进制补足位数后首位为1时,就需要先取反再换算:例如,11101011,首位为1,那么就先取反吧:-00010100,然后算一下10100对应的十进制为20,所以对应的十进制为-20。

[ 发自小木虫客户端 ]
2楼2014-12-15 22:32:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

晴间多云

木虫 (正式写手)

引用回帖:
2楼: Originally posted by Leodom at 2014-12-15 22:32:48
整数二进制转换为十进制:
首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。
 先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到 ...

为什么反过来算结果不一样呢?
在生活中要学会独立思考和解决一些问题!
4楼2014-12-15 23:18:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hoddescle

木虫 (小有名气)

老和部队

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
晴间多云: 金币+10, ★★★很有帮助, 好方法,但还有疑问 2014-12-16 10:27:00
二进制数数位从左到右的编号为n,n-1,....1,对应数字为a_n,a_(n-1)....a_1 其中_i 表示下标
转化成10进制
从左边第二位起求和
2^(n-2)*a_(n-1)+2^(n-3)*a_(n-2)....+2^1*a_2+2^0*a_1

∑ 2^(i-1)*a_i
然后在看第一位的符号
在编程中可以这样使用
sgn(a_n-0.5)
第一位-0.5,得到的数字要么是0.5,要么是-0.5,使用符号函数,取对应的符号
忠贤随明主,奸佞觅昏君
5楼2014-12-16 10:11:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见