进制转换之二进制与十进制转换

一、正整数的十进制转换二进制:

要点:除二取余,倒序排列

解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等

于一或零时为止,倒取将除得的余数,即换算为二进制数的结果

例如把52换算成二进制数,计算结果如图:

52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100。

由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。

于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。本文都以8位为例。那么:

(52)10=(00110100)2

二、负整数转换为二进制

要点:取反加一

解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,

再对取补后的结果加1即可

例如要把-52换算成二进制:

1.先取得52的二进制:00110100

2.对所得到的二进制数取反:11001011

3.将取反后的数值加一即可:11001100

即:(-52)10=(11001100)2

三、小数转换为二进制

要点:乘二取整,正序排列

解释:对被转换的小数乘以2,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2

,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0

或者已经去到了足够位数。每次取的整数部分,按先后次序排列,就构成了二进制小数的序列

例如把0.2转换为二进制,转换过程如图:

0.2乘以2,取整后小数部分再乘以2,运算4次后得到的整数部分依次为0、0、1、1,结果又变成了0.2,

若果0.2再乘以2后会循环刚开始的4次运算,所以0.2转换二进制后将是0011的循环,

即: (0.2)10=(0.0011 0011 0011 .....)2

循环的书写方法为在循环序列的第一位和最后一位分别加一个点标注

四、二进制转换为十进制:

整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2 的负幂次然后依次相加!

比如将二进制110转换为十进制:

首先补齐位数,00000110,首位为0,则为正整数,那么将二进制中

的三位数分别于下边对应的值相乘后相加得到的值为换算为十进制的结果

如果二进制数补足位数之后首位为1,那么其对应的整数为负,那么需要先取反然后再换算比如11111001,首位为1

,那么需要先对其取反,即:-00000110 00000110,对应的十进制为6,因此11111001对应的十进制即为-6

时间: 2024-12-21 21:00:59

进制转换之二进制与十进制转换的相关文章

java-十进制、八进制、十六进制数互相转换

java-十进制.八进制.十六进制数互相转换下面是一个十进制.八进制.十六进制数互相转换的小程序public class JZTurn {?????public static void main(String[] args) {????????int num2 = 1314521;????????System.out.println("十进制数:"+num2);????????System.out.println("十进制转换二进制:"+turn2(num2));?

js二进制和十进制转换代码

js二进制和十进制转换代码:十进制和二进制的转换是在编码中是时常用到的,下面就是一段这样的代码实例,希望能够给需要的朋友带来帮助.代码实例如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="author" conte

继续学习----二进制与十进制转换

二进制与十进制转换 本人有个更直接的方法,例如二进制数1000110转成十进制数可以看作这样: 数字中共有三个1 即第二位一个,第三位一个,第七位一个,然后十进制数即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方数即1的位数减一.如此计算只需要牢记2的前十次方即可在此本人为大家陈述一下:2的0次方是1 2的1次方是2 2的2次方是4 2的3次方是8 2的4次方是16 2的5次方是32 2的6次方是64 2的7次方是128 2的8次方是256 2的9次方是512 2的10

python 实现进制转换(二进制转十进制)

摘自https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6 python实现进制转换:https://www.cnblogs.com/cookie1026/p/6059766.html 十进制转二进制 编辑 1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法.具体做法是:用2整除十进制整数,可以得到一个商和余数:再用2去

Python进制转换(二进制、十进制和十六进制)

#!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16. import os,sys # global definition # base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F] base = [str(x) for x

给定一个十进制数M,以及需要转换的进制数N。 将十进制数M转化为N进制数

输入描述: 输入为一行,M(32位整数).N(2 ≤ N ≤** 16),以空格隔开. 输出描述: 为每个测试实例输出转换后的数,每个输出占一行. 如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等) 输入例子: 7 2 输出例子: 111 import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util

二进制与十进制转换问题

进制转换问题实为最基础也实用的一种基本技能.首先得说,进制转换很简单,但就是时间长不用依赖计算器就容易忘,毕竟这不像其他的能在日常生活就经常用的的数学. 那么就聊聊十进制与二进制的转化,十进制转化为二进制,两种方法:短除法,数轴法.先说短除法,用10进制数除以2,得到的余数按倒叙排列,把52化成2进制就像这样,得到的结果为110100 再说数轴法,所谓的数轴法就是在数轴上从右到左分别标记2^0到2^n比如2^0等于1,2^1等于2,2^2等于4,一直下去,然后观察10进制数由几个这样的数组成,拿

进制的表现形式及其之间的转换原理和工具

一.不同进制数据的表现形式: 1).二进制的数据表现形式    * 由0,1组成.以0b(b可以大写也可以小写)开头(JDK1.7版本可以表示二进制了),例:0b100: 2).八进制的数据表现形式    * 由0,1,-7组成.以0开头,例:0100: 3).十进制的数据表现形式     * 由0,1,-9组成.整数默认是十进制的 ,例:100: 4).十六进制的数据表现形式    * 由0,1,-9,a,b,c,d,e,f(大小写均可).以0x开头 ,例:0x100: 二.任意进制到十进制的

二进制和十进制转换

注:八进制.十六进制和二进制同理,只不过将2换成8或16 二进制转换 正整数转成二进制:除二取余,直到商为零,然后倒序排列,高位补零. 例:42的二进制为:00101010 小数转换为二进制:乘二取整,直到小数部分为零,然后正序排列,即为二进制小数部分. 例:0.125的二进制为0.001 二进制转为十进制:相乘相加 整数部分 小数部分