计算机中十进制转二进制的相关技巧

**关于计算机中十进制转二进制的相关技巧**

下面我们用二种方法进行对比:

1. 十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

如:

789=1100010101(二进制)

789/2=394 余1 第10位

394/2=197 余0 第9位

197/2=98 余1 第8位

98/2=49 余0 第7位

49/2=24 余1 第6位

24/2=12 余0 第5位

12/2=6 余0 第4位

6/2=3 余0 第3位

3/2=1 余1 第2位

1/2得0 余1 第1位

2.十进制整数转换为二进制整数技巧

二进制 十进制 十进制
1 2^0 1
10 2^1 2
100 2^2 4
1000 2^3 8
10000 2^4 16
100000 2^5 32
1000000 2^6 64
10000000 2^7 128
100000000 2^8 256

……                                     ……                      ……

举例说明:

97=64+32+1
64 1000000
32 0100000
1 0000001
97 1100001

把要求得的数字拆分为表中的整数,再查表找到对应的二进制数字,将对应的二进制数字对位相加即得所求十进制数字对应的二进制数字。

通过这种算法可以轻松算出4位数以内的十进制数字。

原文地址:http://blog.51cto.com/13854765/2145160

时间: 2024-08-28 18:52:17

计算机中十进制转二进制的相关技巧的相关文章

计算机中数字的二进制存储形式

今天,做个关于二进制的算法题,突然有个问题一直想不通为什么~5是6,计算机基础知识不过关啊,所以现在来弥补下,正数和负数在计算机中是怎么存储和计算的. 讲讲计算机中的存储形式: 计算机中存储的数都是以补码的方式存储的,而正数的原码,反码,补码都是一样的.但是负数的原码,反码,补码是不一样的. 下面都是以java中的int i=5为例. 正数5的原码就是其二进制码:00000000 00000000 00000000 00000101 反码是:00000000 00000000 00000000

[原创]PostgreSQL中十进制、二进制、十六进制之间的相互转换

在PostgreSQL中,二进制.十进制.十六进制之间的转换是非常方便的,如下: 十进制转十六进制和二进制 mydb=# SELECT to_hex(10); to_hex -------- a (1 row) mydb=# SELECT 10::bit(4); bit ------ 1010 (1 row) 十六进制转十进制和二进制 mydb=# SELECT x'A'::int; int4 ------ 10 (1 row) mydb=# SELECT x'A'::bit(4); bit -

C语言中十进制以二进制形式输出

在C语言中我们通常有这样一种说法, 不管怎么写就看我们怎么读. 例如打印出一个整形的各种形式就有 printf("%o\n",a);八进制 printf("%n\n",a);十进制 printf("%x\n",a);十六进制 唯独没有打印出二进制 下面用代码展示一下打印出正数二进制形式 #include <stdio.h> void f(int n) { if(n) f(n/2); else return; printf("

计算机中的位运算

位运算是C/C++中的基本运算之一,即便是这样,它对大多数程序员来说是一个比较陌生的运算——大多数程序员很少使用位运算.本篇先简要介绍基本的位运算操作符及其用法(何时使用),然后介绍位运算符的几个典型应用: (1)      三种不用临时变量交换两个整数的实例,并分析每个实例的优缺点 (2)      进制转换,通过位运算实现将十进制数按二进制和十六进制输出,并得出一个通用的,用于将十进制按照2的n次方进制输出的程序. (3)      给出利用位运算实现的计算整数的二进制表示中有多少个1的实例

计算机中负数表示法

问一个基本的问题. 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数.比如,在8位机中,规定每个字节的最高位为符号位.那么,+8就是00001000,而-8则是10001000. 但是,随便找一本<计算机原理>,都会告诉你,实际上,计算机内部采用2的补码(Two'sComplement)表示负数. 什么是2的补码? 它是一种数值的转换方法,要分二步完

计算机中的整数(原码、反码、补码)

系统中所有的信息——包括磁盘文件.存储器中的程序存储器中存放的用户数据以及网上落上传送的数据,都是由一串位表示的.区分不同数据对象的唯一方法是我们读到这些数据对象时的上下文.比如,在不同的上下文中,一个同样的字节序列可能表示一个整数.浮点数.字符串或者机器指令. 计算机中的整数可以分为无符号整数和有符号整数两种类型.无符号整数不存在正负之分,在计算机中以其二进制真值的形式存放.而有符号整数由于有正负数的区分,表示相对复杂. 计算机中的符号数有三种表示方法,即原码.反码和补码.三种表示方法均有符号

OAF开发中一些LOV相关技巧 (转)

原文地址:OAF开发中一些LOV相关技巧 在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMESSageLovInputBean),二是弹出的LOV模式窗口(OAListOfValueBean).用户选择LOV的按钮就会弹出LOV窗口,用户在LOV窗口查询并选择了值,可以返回到页面上的LOV输入框.在这里就不赘述如何创建LOV,只说一些平时会碰到的应用: 1.控制LOV的查询结果 2.LOV相关事件 3.动态LOV 4.LOV Choice一,控制LOV的

JAVA 读取计算机中相关信息

java读取 计算机 cup号 读取版本 显卡 ................. package com.swt.common.util; import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; import java.io.LineNumberReader; /** * 获取硬件信息 * @author luoxf * */

计算机中的进制

在学习编程的过程中,经常见到二进制,十进制,十六进制,到底进制表示什么意思呢?进制,字面意思,前进的制度,在数字方面,就是数字前进的制度,数字怎么向前进,那就是进位,我们在做加法运算的时候都会用到进位,8+3,我们会写个1,然后向前进一位,数数的时候更是如些,1,2,3......10, 我们不会再向下数11,12 ..... ,而是在心中放一个1, 然后再1,2,3,4,......10, 到10之后, 我们也不会向下数,而是在心中再记一个1,那么心中的数字就是2了,继续向下数,1,2,3,数