c#之进制之间的转换

在19世纪初爱迪生发明了灯泡,紧接着在 1946年美国科学家就发明了计算机,第一台计算机没有我们现在这样复杂的点路板,这台计算机仅仅是由一些简易的灯泡构成的。那我们想想,他们当时是如何使用这些灯泡来表示数的?
当时他们想到了一种办法:
就是用灯亮表示1,灯灭表示0. 0和1共同表示数字。
0和1一共只有两个数字,他们通过组合来表示不同大小的数字,比如我们平时的5我们可以通过101来表示他代表着2^2*1+2^0*1 可以通过这种方式来表示任意的数。
这里面只有两个数,这样的数命名为2进制
整数一位上有0-9十个数,他的名字叫做十进制。
这里我们可以通过使这个数除以2取余数跟商得到我们想要的答案。
5除以2得到余数1,跟商2;
2除以2得到余数0,跟商1;
1除以2得到余数1,跟商0;
这里我们发现余数从下向上101刚好构成我们刚刚的二进制。
接下来我们看下110,通过使用 0^2*0+1^2*1+2^2*1 =6;
这里得到110对应的十进制为6;
我们通过6来取6对应的二进制:
6除以2得到余数0,商数3.
3除以2得到余数1,商数1.
1除以2得到余数1,商数0.
这里我们从下向上取余数刚好得到十进制6对应的二进制110
根据二进制与十进制之间的规律我们可以得到8进制的数0-7;
还有16进制的数0-F;

你可能感兴趣的:(c#之进制之间的转换)