十进制1000转二进制的过程
发布网友
发布时间:2022-05-08 07:20
我来回答
共5个回答
懂视网
时间:2022-08-17 14:14
1、十进制数1000对应二进制数为1111101000。
2、十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。
热心网友
时间:2024-11-29 09:06
楼上的讲的都是可行的方法,但如果你觉得除太多次数麻烦的话可以这样:
1、找出距离1000最小的2的n次方:
这里应该是2^10 = 1024;
是2的几次方就在1后添几个零,所以:
1024 = 1,0000,0000,00
这个数就是1024的二进制形式。
2、把该值与1000的差值求出来:
这里1024 - 1000 = 24;
24 = 2^4 + 2^ 3;
所以24的的二进制就为:
1,0000 +
0,1000 =
1,1000;
3、因为1000 = 1024 - 24所以:
1000的二进制 =
1,0000,0000,00 -
0,0000,0110,00 =
0,1111,1010,00
二进制的家减法和十进制规律相同,只不过是逢2进一,借位为2,比如:
加法只要记住同一位如果有2个1相加那么该位就为0且向前一位进一,如:
0100(4) +
0111(7) =
1011(11)
减法只要记住同一位如果有0减1不够减的话向前一位借的数是2,前一位如果为1借后就为0;如果前一位为0就需要再向前一位借2,直到借够为止,被借过的位都变为1,如:
1,0000(16) -
0,1001(9) =
0,0111(7)
如果你是要把10进制数表示为2进制输出的程序的话我也写了个,你可以参考下:
#include <iostream>
#include <limits>
using namespace std;
int main()
{
typedef unsigned long ulong;
const ulong usize = numeric_limits<ulong>::digits;
const ulong number = 1000; // 要转换的10进制数
ulong high_bit = 0x80000000;
bool encounter_1 = 0;
for(int i = 0; i < usize; ++i)
{
if((high_bit >> i) & number)
{
encounter_1 = true;
cout << '1';
}
else if(encounter_1)
{
cout << '0';
}
}
}
热心网友
时间:2024-11-29 09:07
1111101000
十进制变成二进制就用连续减去 2 的幂方数即可。
……2048 1024 512 256 128 64 32 16 8 4 2 1
举例来说,把1000 变成二进制数方法如下:
1000 - 512 = 488 512 的那一位数有1
488 - 256= 232 256 的那一位数有1
232 - 128 = 104 128 的那一位数为1
104 - 64 =40 64 的那一位数有1
40 - 32 = 8 32 的那一位数为1
8 - 16 不够减了,所以 16 那一位为零
8 - 8 = 0 8 的那一位数为一
其余就为0了。
热心网友
时间:2024-11-29 09:07
1000/2=500......0
500/2=250......0
250/2=125......0
125/2=62......1
62/2=31......0
31/2=15......1
15/2=7......1
7/2=3......1
3/2=1......1
1/2=0......1
反向取余(倒着把余数写出来)
得:1111101000
所以1000转化成二进制得11111101000
热心网友
时间:2024-11-29 09:08
1000÷2=500……0
500÷2=250……0
250÷2=125……0
125÷2=62……1
62÷2=31……0
31÷2=15……1
15÷2=7……1
7÷2=3……1
3÷2=1……1
将余数反过来排列,并在这个数前添上一个1便可。
1000的二进制数值为1111101000
热心网友
时间:2024-11-29 09:08
用1000除2,然后从下往上写下0或1