补习中-进制转换

最近忽然起兴,在看一些程序,但是一堆16进制代码看的我脑袋晕头转向。。

没办法,底子太薄,开始补习吧!

先说10进制转换成2进制

比如42想转换成2进制,那就把42一直拿2往下除,除到商为0

42/2 = 21余0

21/2 = 10余1

10/2 =  5余0

5/2 =  2余1

2/2 =  1余0

1/0 =  0余1

从下往上写为 00101010

1前面那两个0是补位的..没什么用途.

想转成10进制也很简单,

^ 这个是幂的符号吧= =。  数学好长时间没学,早忘光了。。。

幕的个数是从0开始往前数

8位     7位     6位     5位     4位     3位     2位     1位

0*2^7 + 0*2^6 + 1*2^5 + 0*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0

0   +   0     +  32   +   0   +   8   +  0    +  2    +  0

最终结果等于42  哦耶!

------下面为16进制-----------------------

16进制打头必须带有0x,但是这个并不在进制转换中出现。。  (当初就不知0x是什么,还傻呵呵的问0x是多少。。)

16进制中, 从A开始,代表A=10,一直到F=15。。

问:为什么要用A来代表10呢?

因为数不够用了。10不就占两个格了么。(哈。我是这么理解的。。)

16转2进制有规律表,太占地方放下面了。。

比如拿上面的42来说,42 = 00101010  这是10进制转2进制

每4个数单独拿出来

0010 = 2

1010 = A

转换成16进制, 42 = 2A   啊哈~

16进制直接转10也好转

2A用16进制数字来表示 2A = 2 10

这里10看成一位。

2位    1位

2*16^1 + 10*16^0

32   +   10

结果42。   完美!

----------------------------------------------------------------------------

16进制转换成2进制有下面这个规律,附上手打表一张..  少位的拿0补..

0 = 0

1 = 1

2 = 10

3 = 11

4 = 100

5 = 101

6 = 110

7 = 111

8 = 1000

9 = 1001

A = 1010

B = 1011

C = 1100

D = 1101

E = 1110

F = 1111

时间: 2024-10-07 21:23:24

补习中-进制转换的相关文章

Python中进制转换函数的使用

Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到二进制).oct()(十进制转换到八进制).hex()(十进制转换到十六进制). 下面我们逐个说下每个函数的用法. bin bin()函数,是将十进制的数字转换成二进制的数字.其中bin()函数中传入的是十进制的数字,数据类型为数字类型. v = 18 num = bin(v) print(num)

js中进制转换

利用javascript进行进制转换的方法 今天在做网站时用到了进制的转换,于是在网上搜索,发现可以直接利用javascript的toString()方法和parseInt()方法进行十进制和其他进制之间的转换,这里对他们的用法进行一下整理. toString()方法:将十进制数转换成其他进制数 parseInt()方法:将其他进制数转换成十进制数 <script language="javascript" type="text/javascript">

linux中进制转换

方式一:使用$[]或$(()) 格式为:$[base#number]或$((base#number)),其中base为进制,number为对应进制数. 这种方式输入2进制.16进制等,但只能输出为10进制,如下: [email protected] ~ # echo $[2#1100]12[email protected] ~ # echo $((2#1100))12[email protected] ~ # echo $[16#ff]255[email protected] ~ # echo

java中的进制转换

进制转换 首先是十进制转化为其他进制,如二进制,八进制,十六进制: 它们在java中都有专门的函数可供调用: 如:十进制转化为二进制时调用toBinaryString(); 十进制转化为八进制时调用toOctalString(); 十进制转化为十六进制时调用toHexString(); 代码实现: // 进制转化 public class Main_2 { public static void main(String[] args) { Integer a=new Integer(20); //

利用java中的BigInteger实现进制转换

[原创] java中的进制BigInteger十分的强大,而且好用,他可以表示任意大的整数,同时还可以进行进制转换,十分的方便, 代码示例: 1 package com.jiajia.demo_1; 2 import java.math.BigInteger;//导入该包 3 public class Demo { 4 public static void main(String[] args) { 5 String str = new BigInteger("15", 10).toS

jstack:将Process Explorer中看到的进程ID做16进制转换,到ThreadDump中加上0x 前缀即能找到对应线程(转)

原文链接:http://www.iteye.com/topic/1133941 症状: 使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jdk1.6.u45及1.7u45均尝试了,也重现. 重现步骤很简单,使用debug模式启动时较容易出来,debug启动tomcat,(我的是webapp)然后在页面上随便点点即发现eclipse僵死,且任何从浏览器发出的请求都卡住不能被接收执行. 1.然后从任务管理器直接杀掉eclipse对应的jav

( 转)Sqlserver中tinyint, smallint, int, bigint的区别 及 10进制转换16进制的方法

一.类型比较 bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据,存储大小为 8 个字节.一个字节就是8位,那么bigint就有64位 int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据,存储大小为 4 个字节.int类型,最大可以存储32位的数据 smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据,存储大小为 2 个

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等.我今天就为大家详细讲解一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量***************************

java中Integer包装类的具体解说(java二进制操作,全部进制转换)

程序猿都非常懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往须要操作Integer,或者各种进制的转换等等.我今天就为大家具体解说一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量**************************