二进制到十六进制转换法加各种进制的运算

十进制      0    1    2    3        4        5        6        7        8        9    10    11       12    13    14    15

十六进制   0    1    2    3        4        5        6        7        8        9     a     b        c     d      e     f

二进制      0    1    10  11      100     101      110       111     1000     1001   1010  1011     1100  1101   1110 1111

那么如何将 5D转换为二进制呢?

上表 可以看出 5对应101,d对应1101,那么5d就是  01011101

那么 101101011010101如何转化为十六进制呢?

将上述数字四个一组,分开。0101对应5,1101对应d,1010对应a,101对应5

那么  101101011010101对应的十六进制就是 5ad5

各种进制数的加减法太容易了就不说,说说如何做进制间的乘法吧。

首先构造十六进制的 FF乘法表

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9

1*4=4 2*4=8 3*4=C 4*4=10

1*5=5 2*5=A 3*5=F 4*5=14 5*5=19

1*6=6 2*6=C 3*6=12 4*6=18 5*6=1E 6*6=24

1*7=7 2*7=E 3*7=15 4*7=1C 5*7=23 6*7=2A 7*7=31

1*8=8 2*8=10 3*8=18 4*8=20 5*8=28 6*8=30 7*8=38 8*8=40

……

……

那么1E*5D怎么计算?

1E

*  5D

---------

186

+96

---------

AE6

根据FF乘法表得到E*D的值。那么E*D到底如何计算出来呢?首先计算E*D,换算成十进制14*13=182.

182转为十六进制, 182除以16等于11余6,所以182的十六进制是B6,1*D=D,所以1E*D就是D*10(左移一位)+B6=186

同理1E*5等于96

所以1E*5D等于186+96*10=AE6

以上数字全部十六进制。

那么 6F/3A等于多少?

1

|-------

3A| 6F

3A

---------

35

6F/3A=1余35

时间: 2024-11-09 01:31:43

二进制到十六进制转换法加各种进制的运算的相关文章

十六进制转八进制(进制关系)

Description 给定n个十六进制正整数,输出它们对应的八进制数. Input 输入的第一行为一个正整数n (1<=n<=10).接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000. Output 输出n行,每行为输入对应的八进制正整数. Sample Input 2 39 123ABC Sample Output 71 4435274 注意 输入的十六进制数不会有前导0,比如012A. 输出的八进制数也不能有前导0

【学习ios之路:C语言】进制.位运算.栈

1.进制转换 1).10进制转为N进制.方法:(连除倒取余). 2).N进制转换为10进制.方法:(按权求和法):当前位上的数乘以基数的位数减1次方. 例: 0b1111 ---- 1* 2^3 + 1*2^2 +1 * 2^1 +1*2^0 = 15; 038 ----- 3*16^1 +8*16^0 = 56; 3).N进制转换N进制. 例如: 二进制 --- 16进制 1010   0011  ----  A 3 1111   0011  ----  F 3 int a = 010;//8

c语言2进制 位运算 应用

/*写函数: unsigned int  reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值. 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回:           2550136832*/ #include<stdio.h> unsigned

Java的进制转换操作(十进制、十六进制、二进制)

2014-05-06 17:34 吴文付 最近由于工作上的需要,遇到进制转换的问题.涉及到的进制主要是 十进制,十六进制,二进制中间的转换. 这里整理一下.具体的计划为:封装一个转换类,一个测试类. 1.十进制 转 十六进制: 2.十进制 转 二进制 3.十六进制 转 十进制: 4.十六进制 转 二进制: 5.二进制转 十进制: 6.二进制转十六进制: Java的进制转换操作(十进制.十六进制.二进制),布布扣,bubuko.com

01-03 Java关键字、标识符、注释、常量和进制问题、变量和数据类型

1:关键字 (1)被Java语言赋予特定含义的单词 (2)特点: 全部小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记 2:标识符 (1)就是给类,接口,方法,变量等起名字的字符序列 (2)组成规则: A:英文大小写字母 B:数字 C:$和_ (3)注意事项: A:不能以数字开头 B:不能是java中的关键字 C:区分大小写 (4)常见的命名规则(见名知意) A:包 其实就是文件夹,用于把相同的类名进行区分

(HDUStep 1.2.6)decimal system(任意进制转十进制)

题目: decimal system Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3622 Accepted Submission(s): 1419   Problem Description As we know , we always use the decimal system in our common life, even us

黑马程序员---C基础6【#include指令】【模块化编程】【计算机的进制】【原码、反码、补码】【位运算符】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [#include指令] 1.文件包含命令的格式: 1)#include “”双引号是包含用户自己书写定义的文件(可以是头文件,也可以是普通的文件)#include是预处理指令,不是一个语句,不需要加封号 2)#include<>   包含一个系统(编译器自带)的头文件 2.文件包含的实质: 把指定文件内容插入该命令行位置取代该命令行, include不一定非要写在第一行: 3.includ

C语言---进制

1. 何为进制 进位机制,逢几进一.数值某一位置上的数在运算时是逢几进一. 生活中的进制:十进制.十二进制(12个月是1年).六十进制(60秒是1分钟) 计算机编程中的进制:二进制.八进制.十六进制.十进制 2. 进制的作用 利用有限的数字表示所有数值. 以十进制为例:使用0~9的数字表示所有数值. 例如: (1)数值9:使用数字9表示 (2)数值10:使用数字1和0表示 3.进制的规则 (1)n进制使用 0~n-1之间的数字表示所有数值 1)二进制 0 1 2)八进制 0 1 2 3 4 5

MD5中使用16进制

MD5中使用16进制消息摘要 分类: java_secruity2012-12-28 13:11 719人阅读 评论(0) 收藏 举报 消息摘要 由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题. 但,二进制数太长了.比如int 类型占用4个字节,32位.比如100,用int类型的二进制数表达将是: 00000000 00000000 00000000 01100100 面对这么长的数进行思考或操作,没有人会喜欢.因此,C,C++,以及java中 没有