⼗进制负数转换为⼆进制、⼋进制、⼗六进制
直接进⼊主题....
问题:-3如何转换成⼆进制?
⾸先我们将+3转换成⼆进制,假设是为int类型(32位)的,那么⼆进制表⽰为:
反码计算器在线0000 0000 0000 0000 0000 0000 0000 0011                          --这称之为原码:⼀个整数的绝对值的⼆进制表⽰称之为原码。负数转换成⼆进制分为3步:
1、⾸先将负数转换为对应的原码
-3的原码为(也就是+3转换成⼆进制后的字符串):
0000 0000 0000 0000 0000 0000 0000 0011
2、再将原码的每⼀位做取反操作得到反码。取反操作:0变为1    1变为0;取反后的结果即为:
1111 1111 1111 1111 1111 1111 1111 1100
3、将反码+1得到补码
1111 1111 1111 1111 1111 1111 1111 1101
现在⽤windows⾃带的计算器来验证⼀下,Win+R 输⼊calc,将计算器改为程序员,选择双字(4字节,32位)
-3的⼗进制以及⼆进制表⽰:
负数转换成⼋进制、⼗六进制,只需在补码(⼆进制)的基础上,3位合成⼀位计算,或者4位合成⼀位计算
-3的转换成⼆进制为:
1111 1111 1111 1111 1111 1111 1111 1101
⼋进制则将-3的⼆进制从右⾄左每3位为⼀个单元,不够三位⽤0补即:
011 111 111 111 111 111 111 111 111 111 101
计算每⼀个单元,结果为:37777777775
⼗六进制则将-3的⼆进制从右⾄左每4位合并为⼀个单元,即:
1111 1111 1111 1111 1111 1111 1111 1101
计算后为: FFFFFFFD

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。