A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 邵阳 中级黑马   /  2012-6-3 20:43  /  2472 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邵阳 于 2012-6-6 13:32 编辑

3:为什么6的二进制是00000110,通过运算后得出-6的运算值是11111010,但是11111010的十进位制是250?

7 个回复

倒序浏览
本帖最后由 张亭 于 2012-6-3 21:16 编辑

同学,数字的二进制表现形式有原码,反码,补码
计算机存放数据一般用的是补码
关于这方面知识请自行查阅
简单说一下,6的二进制是00000110,指的是原码(正数的补码形式就是原码)
-6的运算值是11111010,这是补码,怎么来的呢?就是把6的原码00000110取反得11111001,然后加1得到补码形式
如果把11111010看作原码且不考虑符号位,它表示的是250,
这些很基础的东西楼主一定要弄清楚哦

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 杨海波 于 2012-6-3 21:29 编辑

首先 你错了-6的二进制不是11111010而是1111 1111 1111 1111 1111 1111 1111 1010 整数占4个字节也就是32位 6的二进制是0000 0000 0000 0000 0000 0000 0000 0110 而11111010其实是0000 0000 0000 0000 0000 0000 1111 1010这个跟前面不是一个值吗 肯定不一样。多看看基础 这个很简单的
负数的二进制是正数的二进制取反码再加1,这些基础你得记住。加油一起奋斗。

评分

参与人数 1黑马币 +6 收起 理由
赵志勇 + 6 很给力!

查看全部评分

回复 使用道具 举报
6的二进制就是110  2的二次方加2的一次方就刚好等于6 所以就是110  也就是0000 0110 不够8位就用0补足
至于-6 负数是正值的补码形式表达。00000000 00000000 00000000 00000110 是 6的 原码。
反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
取反操作指:原为1,得0;原为0,得1。(1变0; 0变1)
反码就是:11111111 11111111 11111111 11111001
补码:反码加1称为补码。
加1 后:11111111 11111111 11111111 11111010
-6 在计算机中表达为:11111111 11111111 11111111 11111010
但是11111010的十进位制是250 因为最高位1表示符号位 如果它不当做符号为就成了250

评分

参与人数 1技术分 +1 收起 理由
袁錦泰 + 1

查看全部评分

回复 使用道具 举报
大哥,十进制的负数都用的是二进制的补码啊,你那个11111010是6的补码啊,二进制转十进制用的是原码
回复 使用道具 举报
10进制的110是1*10*10+1*10=110;
同理:00000110=1*4+1*2=6;
二进制服输的表示方法是:"各位数取反,在家一"。
所以11111010表示的是,负数6。
另外,二进制第一位是0,表示正数,第一位是1表示负数。
回复 使用道具 举报
张亭 发表于 2012-6-3 21:14
同学,数字的二进制表现形式有原码,反码,补码
计算机存放数据一般用的是补码
关于这方面知识请自行查阅

透彻啊 能不能再详细些啊!原码和补码怎么看出来啊,看着一样啊
回复 使用道具 举报
二进制左边第一位是符号位,0是正数1是负数。6是00000110(最左边是0);-6是11111010是正数取反加1得出的(最左边是1)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马