程可能对二进制并不陌生,二进制是一种在计算技术中广泛使用的数字系统。二进制数据是由两个数字0和1表示的数字。但是很多人会把二进制转换成整数,但是二进制怎么表示负数呢?有人会说在二进制匹配前面加一个负数。虽然电脑只能知道0和1,但我们怎么能多加一个负号呢?所以我们需要用0和1来表示负数。如果我们想理解这一点,我们需要知道什么是二进制源代码。原始代码是什么?真实形式是计算机中数字的二进制定点表示。在原代码符号中,在数值前加一个符号位(即最高位为符号位):正位为0,负位为1(0有0和-0两种表示),其他位表示数值的大小。直观;比如我们用8位二进制表示一个数,11的原码是00001011,而-11的原码是10001011,不能直接参与运算,可能会出错。数学上,例如,1 (-1)=0,而在二进制中,00000001 1000001=10000010,在十进制中转换为-2。显然出了问题。
原来的二进制码、补码、补码十进制如何转换成二进制?我们如何将十进制-3转换成二进制表示?首先,我们将-3的绝对值转换为二进制,假设它是int类型(32位)。那么二进制表达式是:0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011。将负数转换为二进制有三个步骤:1。首先,将负数转换为对应的原码——3的原码是(即转换为二进制后的3的字符串):0000 0000 0000 000 000 000 000 000 000 0000 0000 00112。反向操作:0变成1,1变成0;求逆后的结果是:11111111111111111111111111111003,得到补码111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
打开Windows自带的计算器的科学计算功能,在计算器中选择小数,然后输入-3: 。
Windows自带的计算器科学计算-3位小数,然后点击二进制转换将-3位小数转换为二进制:。
从十进制-3到二进制到十进制负数的转换正常情况下,二进制到十进制的转换是没有问题的。在像Javascript/PHP这样的整数类型中,int /integer一般有一个位限制,一般是32位长。还表示在这些语言中,整数都有一个最大值,32位整数的最大限制是2147483647,也就是二进制:0111111111111111111111,所以很容易理解当32位二进制的第一位数字为0时,就意味着这是一个正数,并且。32位二进制111111111111111111111111111111111111的十进制值是多少?11111111111111111111111111111111111111001如上,二进制长度为32位,也就是说这个整数是负数。首先取逆,得到逆码:0000000000000000000000000000000000000000110。get:0000000000000000000000000000000000000000111转换为小数:7是负数,所以加一个负号,转换为-7。有趣:32位二进制1111111111111111111111001十进制值是多少?这是一个有趣的问题。不要被误导说这是一个负数。其实这是一个整数,因为只有31位,所以需要在前面加0,组成32位,就变成:01111111111111111111111111001十进制负数转换为八进制,十六进制负数转换为八进制和十六进制,只需要加补码。或者把4位组合成一位,把-3转换成二进制的结果是:1111 1111 1111 1111 1111 1111 1111八进制,那么每3位的-3二进制从右到左是一个单位,不足的三位用0来补充,即011 111 111 111 111 111 111 111 111 101。结果:377777775十六进制将-3二进制从右到左每四位组合成一个单位,即1111 1111 1111 1111 1111 1111 1101,计算后为:fffffffd。
将十进制-3转换为八进制和十六进制。