十进制数转二进制数

一  整数

整数除以2,商继续除以2,得到0为止,将余数逆序排列。

以22为例:

22 / 2  11 余0

11/2     5  余 1

5 /2      2  余 1

2 /2      1  余 0

1 /2      0  余 1

所以22的二进制是10110

二 纯小数

小数乘以2,取整,小数部分继续乘以2,取整,得到小数部分0为止,将整数顺序排列。

以0.8125为例:

0.8125x2=1.625 取整1,小数部分是0.625

0.625x2=1.25 取整1,小数部分是0.25

0.25x2=0.5 取整0,小数部分是0.5

0.5x2=1.0 取整1,小数部分是0,结束

所以0.8125的二进制是0.1101

三 带小数位的整数

直接将分数部分和小数部分组合,即可这个整数和小数的和。

例如,将22和0.8125直接组合,即可得到22.8125的值,

所以22.8125的二进制形式为:10110.1101

时间: 2024-10-12 15:21:29

十进制数转二进制数的相关文章

十进制数与二进制数的互相转化

二进制数是机器的语言,它与我们常用的十进制数存在着转化的方式 十进制数转化二进制公式:1.整数部分:除2取余 2.小数部分:乘2取整: 或者用数轴法来计算该十进制数为哪几个2的幂的和,然后将相应位置1即可得到二进制数: 二进制转化十进制:找到所有二进制数为1的位,然后将2的位数减一次幂相加即可得到相应的十进制数.

将十进制数转换为二进制数----不用数组,也不用函数,只用循环

输入一个正整数(十进制),输出此整数对应的二进制数(用循环实现,但不用数组,也不用函数调用) /* 输入一个正整数(十进制),输出此整数对应的二进制数(用循环实现,但不用数组) 分析:十进制转换成二进制的方式: 用辗转相除依次取余,直到商为0,获取逆序的余数序列就是对应的二进制数 用循环不用数组,因此,将按先得到的余数序列组成一个整数值, 再逆序输出该整数值(从低位到高位输出),即获得二进制代码 */ #include <iostream> using namespace std; int m

每天一个小程序——十进制数转换为二进制数!

#include<stdio.h> void chang2(int);#define MAX 100int main(){ int input; printf("please input a int_number:\n"); scanf("%d",&input); printf("the number's binary is:");  chang2(input); return 0; } void chang2(int x){

数组-----二进制数与十进制数互换

//二进制数转换为十进制数 #include"stdafx.h" #include<iostream> //#include<string.h> //#include<process.h> using namespace std; void main(){ int i, bitv, w=1, value = 0;//value累加和.bitv位值(0或1).w权值 char a[20]; cout << "Enter a bit

非数值数据的表示以及十进制数的二进制编码(BCD)表示

非数值符号编码 计算机对非数值符号的处理大致分三个过程:字符输入,机内处理,字符输出:这就对应这三种阶段的编码,这里叫做输入码,机内码,字形码,不同阶段可以用 相同的编码技术.这只是我对中文编码的扩展,因为都是非数值符号,所以中文和西文没有什么太大区别. 这里主要以汉字的处理为主,西文的处理类似.汉字输入码的编码方式大致分四种:流水码(国标码,区位码),音码(全拼,智能ABC),形码(五笔),音形码.汉字机内码是计算机内存储和处理汉字时候用到的编码(GB2312,ascii,utf-8),这种对

用栈实现2进制数到十进制数的转换

问题:用栈实现2进制数到十进制数的转换 解析:用到<math.h>库中的pow函数,pow(2,i)表示2^i.当进行形参到实参的传送时,需要改变栈中的元素时传入&s,当不改变栈中元素,只对栈s进行操作时,传入s 代码实现: /*利用栈的特点将2进制数转换为10进制数 */ #include<stdio.h> #include<stdlib.h> #include<math.h> #define ElemType char #define Init_

将一个十进制数转为二进制形式并判断它是否是2的n次幂

java提供了十进制转化为二进制.十六进制.八进制的函数:在java.lang.Integer这个API包中,转换函数如下 public static String toBinaryString(int i) public static String toHexString(int i) public static String toOctalString(int i) 这3个函数都可以将十进制的整数转换成二.一六.八进制数,不过转换后的结果都是字符串的形式. 在这里介绍下转换为二进制的情况.

数制之非十进制数转十进制数

二进制转成十进制方法按权相加法:数码与权值相乘,然后将积相加1010101上面这个二进制数转成十进制数是首先,先展开从右到左公式数码 乘以 基数的数码位数减1次幂(12零次方 ) +(02一次方)+(12二次方)+(02的4 - 1方)+(12的5-1)+(02的6-1方)+(1*2的6-1方) 八进制转成十进制数码与权值相乘,然后将积相加3243数码与基数的数码位数-1次幂相乘38的4-1次方 + 28 的 3-1次方 + 48 的2-1次方 38的1-1次方 十六进制转成十进制数码与权值相乘

【Python秘籍】十进制整数与二进制数的转换

最近在用Python写遗传算法时,发现需要将十进制的整数转换成二进制数,那么怎么来转换呢?当然如果你学过进制转换的有关计算方法,你可以手动编写一些函数来实现,不过总体来说还是比较麻烦的,这里介绍Python内置的两个函数bin()和int(),利用这两个函数可以轻轻松松完成转换. 一.十进制整数转换成二进制数 代码如下: num = 8 numb = bin(num) print(numb) 这段代码的输出结果如下: 0b1000 0b是什么呢?有过一定计算机专业基础的人一定知道,其实他只是表示