【二进制数转十进制数】

  1. 各个位拆开,每一位的数值乘2的次幂(末尾是2的0次幂),然后相加求和
  2. 移位操作(左移----乘法)

【十进制数转二进制数】

  1. 模2取余,将余数从低往上排(自下而上),即为该数的二进制序列;
  2. 移位操作(右移----除法)

(num & 1)就是这个数最低位的二进制,然后把n右移一位可以求出倒数第二位的二进制,不断进行循环,直到求出n的最高位的二进制

二进制数转十进制数

移位(左移)操作

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{int n = 0;char c;printf("请输入一个二进制数:");scanf("%c", &c);     while (c == '0' || c == '1')  {printf("%c", c);n = (n << 1) + c - '0';//字符'0',ASCII为48//一次(每读取一个数字)向左移一位,c为每一次读取的数字的ASCII值//由于ASCII表中0的值是48,1的值是49,而此处c只有可能是49或48;//即当前的c若是1,则n的二进制形式在左移一位的同时,右边补上一个1,若是0,同理,补上一个0;scanf("%c", &c);    }printf("的十进制数是%d\n", n);   system("pause");return 0;
}

数位拆分求和

package Decimalism.ToBinary;import  java.util.Scanner;public class DecimalismChanged {public static void main(String[] args) {while(true) {System.out.print("请输入一个二进制数: ");Scanner input = new Scanner(System.in);int binary = input.nextInt();int out = Bianary2Decimal(binary);System.out.println("转换成十进制数为: " + out);System.out.println("输入 0 结束,输入 1 继续");input = new Scanner(System.in);if (input.nextInt() == 0) {break;}}}public static int Bianary2Decimal(int binary) {String binStr = binary + "";int sum = 0;int len = binStr.length();for (int i=1; i <= len; i++) {//第i位 的数字为:int dt = Integer.parseInt(binStr.substring(i-1 , i));sum += (int)Math.pow(2,len-i) * dt;}return  sum;}
}

十进制数转二进制数(C实现)

模2换算(由低到高取出每一位二进制位,倒序存放在数组中)
int main()
{int num = 0;int arr[32] = { 0 };int i = 0, k = 0;printf("请输入十进制的整数:");scanf("%d", &num);while (num != 0){k= num % 2;arr[i] = k;i++;num = num / 2;}for (i=32-1; i >=0; i--){printf("%d", arr[i]);}printf("\n");system("pause");return 0;
}
移位操作
int main()
{int num = 0;int arr[50] = { 0 };int tmp = 0;unsigned int i;printf("请输入一个整数:");scanf("%d", &num);for (i = 0x80000000; i; i >>= 1)  //0x80000000实际代表的值是 -0x80000000(所以说既是源码也是补码),int类型表示的最小值{tmp = ((num & i) == i);printf("%d",tmp);}printf("\n");system("pause");return 0;
}

java实现

  • 十进制数转化为字符类型

  • 取出每一位放入数组

package Decimalism.ToBinary;import  java.util.Scanner;public class BinaryChanged {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入一个十进制数: ");int num = input.nextInt();int[] arr = new int[10];int i = 0;while (num != 0) {int temp = num % 2;arr[i] = temp;num /= 2;i++;}System.out.print("转换成二进制数为: ");for(i--; i >= 0; i--) {System.out.print(arr[i]);}}
}

十进制转换二进制(运算和移位)

二进制数转换十进制数(十进制转二进制)相关推荐

  1. 将任意一个十进制数数字转换为二进制形式,并输出转换后的结果

    package com.llh.demo; import java.util.Scanner; /**  *   * @author llh  *  */ public class Demo13 { ...

  2. 十进制转化为二进制java代码_【模板小程序】任意长度十进制数转化为二进制(java实现)...

    妈妈再也不用担心十进制数过大了233 import com.google.common.base.Strings; import java.math.BigInteger; import java.u ...

  3. 将十进制数转化为二进制并在OLED屏幕上显示

    将十进制数转化为二进制并在OLED屏幕上显示 直接上代码: //显示二进制小数 //x,y为坐标 Num为想要转换的数(可以是十进制,也可以是十六进制) //len为想要转换的二进制的位数 size为 ...

  4. 【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制

    先直接上完整代码: public class Test {public static void main(String[] args) {int num = 100;System.out.printl ...

  5. C语言将一个十进制数转化为二进制

    转化思路:"除2求余,逆序排序",既就是用十进制数除以2,可以得到一个商和余数:将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束:然后将之前所得的余 ...

  6. 【C语言】将十进制数转化为二进制并输出

    十进制转化为二进制并输出(以整型为例) 首先需要明确十进制转为二进制的算法:将所需转化的数除以2,所得余数为k1,将所得商再除以2,所得余数为k2-...重复步骤直到商为0:读数时从最后一个余数读起, ...

  7. 【C语言】输出一个十进制数对应的二进制和八进制数

    描述 我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数, ...

  8. 计算机二进制基础列式,计算机基础;十进制数100对应的二进制数、八进制数和十六进制数分别是...

    中计数采用了多种记数制,比如:十进制,六十进制(六十秒为一分,六十分为一小时,即基数为60,运算规则是逢六十进一),--.在计算机中常用到十进制数.二进制数.八进制数.十六进制数等,下面就这几种在计算 ...

  9. 总结计算机中十进制数二进制数,计算机中十进制转换为二进制的新方法

    计算机,考试必备! 计算机中十进制转换为二进制的另一方法 -------"定位减权法" 胡燏 (四川建筑职业技术学院计算机系,618000) [摘要]本文从十进制与二进制的特点入手 ...

  10. 将有符号十进制数转换成二进制

    function [numbin] = dec2binPN(numdec,N)%判断输入数正负if (numdec >= 0)%正数转二进制numbin1 = dec2bin(numdec,N) ...

最新文章

  1. fullpage 单屏高度超过屏幕高度,实现单屏内可以滚动并解决手机端单屏高度不正确的问题
  2. 边缘计算 — 边缘网络
  3. (Mark)操作系统原理
  4. MYSQL基础--学习笔记
  5. k8s容器探针:就绪检测、存活检测
  6. 四则运算关于加括号的思路
  7. 【牛客 - 327牛客寒假算法基础集训营2 I】处女座的测验(二)(积性函数性质,数论,素数唯一性分解,STL)
  8. asp.net基础知识
  9. coc部落冲突关联错误101解决方案
  10. POJ 2739 Sum of Consecutive Prime Numbers 难度:0
  11. java xml 空节点_java:利用xpath删除xml中的空节点
  12. SoapUI中文乱码
  13. 让XP系统支持GPT硬盘
  14. 如何轻松做好设备巡检管理?
  15. 逻辑回归阈值_逻辑回归算法
  16. 39页大数据治理运营整体解决方案
  17. 回声消除(AEC)原理
  18. 下载和安装Tcl/Tk:
  19. 如何推动智慧交通普惠发展 | 工信部印发民用无人机《指导意见》
  20. 二维码的纠错码原理及如何纠错(2)

热门文章

  1. 一个小小的猜数游戏(挺无聊的,可以运行试试)
  2. 华为机试题库+题解【C语言版】
  3. arduino图形化编程——ardublock
  4. java报表插件下载_java报表EXCEL下载方案
  5. 基于MATLAB2020b的J. R.S. THOM的水强制循环沸腾压降预测模型压降倍乘系数计算器
  6. 【python】opencv双边滤波
  7. 正则表达式中/g /i /m /e /x /s的用法
  8. Android虚拟机PC键盘模拟按键
  9. share mouse键盘不能在再另一个屏幕使用
  10. 开发GUI界面的工具——Qt