精华内容
下载资源
问答
  • python手写进制转换(本文仅探讨从十进制转二进制,八进制,十六进制)分析:二进制:代码:八进制:十六进制:小结 看了这篇博客,就想记录一下,免得忘了。 分析: 二进制: 我们都知道,二进制就是逢2进1,但是...

    python手写进制转换(本文仅探讨从十进制转二进制,八进制,十六进制)


    看了这篇博客,就想记录一下,免得忘了。

    分析:

    二进制:

    我们都知道,二进制就是逢2进1,但是如何把一个十进制数转化成二进制呢?
    比如有一个十进制数:6,我们可以把这个十进制数除以2,得到他的商,和余数,再将得到的商除以2,得到商和余数,直到商为0.
    在这里插入图片描述
    我们可以看到,将得到的余数从下到上连起来,就是这个十进制数的二进制表达。我们去计算器里验证一下:
    在这里插入图片描述
    可以看到,跟我们的计算结果一样。
    那下面,我们就可以用代码来实现了:

    代码:

    a = int(input('请输入一个十进制的正整数:'))
    def er(a):
        s = ''
        while a>0:
            b = a//2 # a/2得到商b
            c = str(a%2) # a%2得到余数 c 转化为str类型
            s = c+s # 直接用+运算符进行字符串连接,注意,因为余数是从下到上连接,所以是c+s
            a = b # 然后再将b的值赋给a,继续运算,直到a == 0
        return s
    

    这里的运算时可以化简的,我要写注释,就没有化简,化简的工作就交个你们了。

    八进制:

    同上

    十六进制:

    同上
    这里需要注意一点就是,十六进制里有A,B,C,D,E,F等字样,这在十进制里是没有的,那么我们就需要建一个列表来装这些字样。

    def shiliu(a):
        sl = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
        s = ''
        while a>0:
            b = a//16
            c = a%16
            s = sl[c] + s
            a = b
        return s
    

    其实从这里可以看出来,我根本就不会化简这个代码 哭唧唧 请各位大佬帮忙化简下。哈哈

    小结

    根据这个方法,你可以进行任何进制的转化,比如我转一个7进制,15进制,19进制等等,都是可以的。

    展开全文
  • @TOC Java声效计算器(带有十进制转二进制十六进制的功能) 声明: 这是我们学校老师布置的一次期末课设,要是只靠在课堂上学的知识是不可能完成这个课设的,做这个课设,我在课下看了一些关于Java用户图形界面的...

    @TOC Java声效计算器(带有十进制转二进制和十六进制的功能)

    声明:

    这是我们学校老师布置的一次期末课设,我在课下看了一些关于Java用户图形界面的书,又结合北大教授的讲课的内容,完成了这次课设。我对比较难理解的代码和重要代码已经注释,如果我有哪一部分写的不明白的地方请大家在评论区留言。

    设计思路:

    首先运用swing.JFrame生成框架,再用swing.JPanel生成三个面板,分别用布局管理器对他们进行管理。添加音效,首先得把音效文件放到确定的路径,再把路径按照我写的代码格式编写就OK了。

    计算器实现功能:

    实现基本的加、减、乘、除等基本用法,除此之外还添加了十进制转二进制和十六进制的功能。
    每次按完图形界面上的按钮就会发出声音

    代码部分:

    package 计算器;

    import java.awt.BorderLayout;
    import java.awt.Font;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileInputStream;
    import java.math.BigInteger;

    import javax.sound.sampled.AudioSystem;
    import javax.sound.sampled.Clip;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.WindowConstants;

    import sun.audio.AudioPlayer;
    import sun.audio.AudioStream;
    public class Calculator extends JFrame implements ActionListener {
    private final String[] str={
    “7”, “8”, “9”, “/”,
    “4”, “5”, “6”, “*”,
    “1”, “2”, “3”, “-”,
    “.”, “0”, “=”, “+”
    };
    JButton[] buttons =new JButton[str.length];
    JButton reset =new JButton(“CE”);
    JButton t16 =new JButton(“hex”);
    JButton t2 =new JButton(“binary”);
    JTextField display = new JTextField(">>>Welcome<<<");

    public Calculator() {
    	Font font =new Font("Consolas",Font.BOLD,18);//粗体
    

    // add components
    JPanel pnlHead = new JPanel(new BorderLayout());
    JPanel pnlend = new JPanel(new BorderLayout());
    pnlHead.add(display,BorderLayout.CENTER);
    pnlHead.add(reset,BorderLayout.EAST);
    pnlend.add(t16,BorderLayout.EAST);
    pnlend.add(t2,BorderLayout.CENTER);
    display.setFont(font);
    reset.setFont(font);
    t16.setFont(font);
    t2.setFont(font);

    	JPanel pnlBody =new JPanel(new GridLayout(4,4));
    	for(int i=0;i<str.length;i++){
    		buttons[i]=new JButton(str[i]);
    		buttons[i].setFont(font);
    		pnlBody.add(buttons[i]);
    	}
    	
    	getContentPane().setLayout(new BorderLayout());
    	getContentPane().add("North", pnlHead);
    	getContentPane().add("Center", pnlBody);
    	getContentPane().add("South", pnlend);
    

    // set frame properties
    for(int i=0;i<str.length;i++)
    buttons[i].addActionListener(this);
    reset.addActionListener(this);//
    display.addActionListener(this);//
    t16.addActionListener(this);//
    t2.addActionListener(this);

    // set frame properties
    setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    setSize(300,300);
    setLocation(500, 150);
    setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
    	Object target =arg0.getSource();//定义事件发出的对象
    	String cmd = arg0.getActionCommand();//定义事件所发出的对象的名称
    	if(target==reset){
    		handleReset();
    		playMusic1();
    		}
    	else if(target==t16){ 
    		playMusic2();
    		BigInteger src = new BigInteger(display.getText());// 
    		display.setText(src.toString(16));
    	}
    	else if(target==t2){
    		playMusic2();
    		BigInteger src = new BigInteger(display.getText());// 
    		display.setText(src.toString(2));
    	}
    	else if (" 0123456789.".indexOf(cmd)>0){//遍历当前字符串 ***
    		handleNumber(cmd);
    	    playMusic2();
    	}
    	else {
    		handleOperator(cmd);
    	    playMusic2();
    	    }
    	// TODO Auto-generated method stub
    
    }
    boolean isFirstDigit = true;//**
    double number = 0.0;
    String operator = "=";//
    
    public void handleNumber(String key){
    	if(isFirstDigit)
    		display.setText(key);
    	else if(!key.equals("."))
    	    display.setText(display.getText()+key);
    	else if(display.getText().indexOf(".")<0)
    		display.setText(display.getText()+".");
    	isFirstDigit =false;
    }//**
    
    public void handleReset(){
    	display.setText("Thanks for using it.");
    	isFirstDigit =true;
    	operator ="=";
    }
    
    public void handleOperator(String cmd){
    	double dDisplay =Double.valueOf(display.getText());//每次都会附给它!!!**
    	switch(operator){
    	   case"+":number+=dDisplay;break;
    	   case"-":number-=dDisplay;break;
    	   case"*":number*=dDisplay;break;
    	   case"/":number/=dDisplay;break;
    	   case"=":number=dDisplay;break;
    	}
    	display.setText(String.valueOf(number));
    	operator =cmd;
    	isFirstDigit = true;
    }//***
    
    public void playMusic1(){
    	 String path1="D:\\96\\Ce.wav" ;//必须得把路径设置为字符型!!!!
    	 try {
    		  FileInputStream fileau=new  FileInputStream(path1);
    		  AudioStream as=new AudioStream(fileau);
    		  AudioPlayer.player.start(as);
    		 }
    		 catch (Exception e) {
    			 e.printStackTrace();
    		 }
    }
    
    public void playMusic2(){
    	 String path2="D:\\96\\Aj.wav" ;//必须得把路径设置为字符型!!!!
    	 try {
    		  FileInputStream fileau=new  FileInputStream(path2);
    		  AudioStream as=new AudioStream(fileau);
    		  AudioPlayer.player.start(as);
    		 }
    		 catch (Exception e) {
    			 e.printStackTrace();
    		 }
    }
    
    public static void main(String[] args) {
    	// TODO Auto-generated method stub
          new Calculator();
    }
    

    }

    运行结果:

    开始界面
    得出结果

    展开全文
  • 以十进制转二进制为例,例如80转二进制: 80可以分为64+16,那么二进制数轴上64和16上面是1,其余位补0 计算器验证: 再以70为例: 同样的,十进制转十六进制也是一样的道理。 二.十六进制与二进制之间的快速转换...

    生活中我们常常采用的是十进制,但计算机却习惯于二进制数。为了避免面对繁杂的01串,展现给程序猿操作的常常是十六进制数。

    一.十进制数与十六进制、二进制数的快速转换

    常见的进制转换方法是除二取余法,从下往上取余数。这里记录另外一种快速实现进制转换的方法:
    以十进制转二进制为例,例如80转二进制
    在这里插入图片描述
    80可以分为64+16,那么二进制数轴上64和16上面是1,其余位补0
    计算器验证:
    在这里插入图片描述
    再以70为例
    在这里插入图片描述
    同样的,十进制转十六进制也是一样的道理。

    二.十六进制与二进制之间的快速转换

    十六进制与二进制之间存在特殊的关系:二进制数的四位相当于十六进制数的一位。因此,我们可以利用这一特点对其进行快速转换,以十六进制数8F为例
    在这里插入图片描述
    将每一位上的数字都看作十进制数,分别化为四位的二进制数,最后组合结果得出答案。
    计算器验证:
    在这里插入图片描述

    展开全文
  • 各种进制之间的相互转换...二进制 逢二进一 八进制 逢八进一 十六进制 逢十六进一 十进制—>二/八/十六进制 口诀 整数部分,除2/8/16取余; 小数部分,乘2/8/16取整 例:23.25转换成二进制为10111.01 二...

    各种进制之间的相互转换,你还在用计算器吗,我总结了一些进制转换的方法,大家可以参考哦!

    在这之前,我们先来看看三种进制的规则

    进制 规则
    十进制 逢十进一
    二进制 逢二进一
    八进制 逢八进一
    十六进制 逢十六进一

    十进制—>二/八/十六进制

    口诀

    整数部分,除2/8/16取余;
    小数部分,乘2/8/16取整

    例:23.25转换成二进制为10111.01

    二/八/十六进制—>十进制

    口诀

    按权值对应相乘再相加

    源码,补码,反码

    原码,补码,反码为了让计算机识别更加清楚,采用二进制的方法;
    开头第一个为符号位,先要明白符号位的作用:

    0代表正数
    1代表负数

    记忆方法

    正数------原码,补码,反码一样
    负数------知道原码,先求反码(1换成0,0换成1),再用反码加1为补码

    展开全文
  • 一个很实用的小工具,能够将十六进制转换为十进制及二进制。这个是最新的汉化版,包含IP地址字段和字节序翻转按钮。可以在简单模式及高级模式之间切换,在寄器ABC执行操作,结果将存储在寄存器中。适用平台:WINDOWS...
  • vb做界面的二进制计算器。可以自己在写上十六进制和八进制转换!
  • 进制转二进制/十六进制我觉得最简单也最方便的办法就是直接用计算器算了。 如果不依赖工具,那我们要如何去计算呢。 先来说说二进制。最多见的是短除法。所谓短除法大家可以去看看...
  • 计算器的转换 手动转换 102,8 16。 28 16 模型向外除全取余 模型向内展开相加 转载于:https://www.cnblogs.com/Kare/p/4303151.html
  • 十六进制速查表

    2019-11-06 09:14:04
    一直在用十六进制,A~F每次要转换成二进制都是把计算器打开,浪费时间啊,这些东西应该完全记住啊,要印在脑海里! 1 十六进制二进制速查表 十六进制 二进制 A 1010 B 1011 C 1100 D 1101 E 1110 ...
  • 论坛上看到好多帖子在讨论各种进制...这里简单写了一个各种进制之间的转换函数,当然目前仅实现了二进制,八进制,十进制和十六进制,而且关于扫描输入这块也并非完善,只是简单提供一个reference code,其他有兴趣的朋
  • 一:最快的方法自然是 用计算器,依次:开始>附件>计算器>查看>科学型 就可以打开科学计算器 例1:二进制 101010 十进制 方法:点一下二进制,输入101010,点一下十进制 得出结果42 二:笔算,各种进制 先成十...
  • Radix 十进制,二进制,八进制,十六进制数相互转换的计算器,采用 Rxbinding实现 用到的开源库 RxJava 2.x RxAndroid butterknife RxBinding 界面预览 APK下载 CoolApk GooglePlay
  • 文章目录概念说明工具使用进位计数制的概念二进制 转 十进制八进制 转 十进制十六进制转十进制十进制 转(二、八、十六进制)十进制 转 二进制十进制 转 八进制十进制 转 十六进制二进制 转 (八、十六进制)二进制 ...
  • 基于MFC的进制转换计算器使用Visual C++ 6.0 (C++)环境编写,在二进制、八进制、十六进制之间能相互进行转换。可以在复选框中选择输入数据加进制符号或转换结果加进制符号等。
  • 使用VB编写的进制转换器,支持32位位宽...1. 十进制 十六进制 二进制 2. 左移 右移操作 (新增功能) 3. 连续地与操作, 或操作, 异或操作 (新增功能) 4. 统计结果数值中1的个数用与辅助测试奇偶校验 (新增功能)
  • 计算器能够实现二进制、八进制、十进制和十六进制的相互转换;二进制、八进制、十进制和十六进制的加减乘除运算;以及十进制的简单科学计算:sin,cos,tan,sqrt,ln,exp。
  • 花了1个多小时写的,有一定的实用性和健壮性,挺有成就感的。...3.十进制转其他进制,使用了一套逻辑,一个方法,简单、可靠 4.增加了时间戳,程序运行结束时,会显示用时。调试程序时输入较大的数字时,输...
  • ASCII及十六进制转换工具《建》

    热门讨论 2010-09-11 10:39:41
    IP转二进制:把IP地址或子网掩码转化为二进制形式. 二进制数操作:把上面转化到的IP二进制进行取反、与、或操作。 说明:普通二进制(即没有包括".")也可进行操作。 IP二进制转十进制:即把上面得到的二进制结果...
  • 使用VB编写的进制转换器,支持32位...1. 十进制 十六进制 二进制 2. 左移 右移操作 3. 连续地与操作, 或操作, 异或操作 4. 统计结果数值中1的个数用与辅助测试奇偶校验 6. 输入格式限制(正则表达式)(新增)
  • 进制转换对于学计算机的朋友是必须要学会的一个知识,Reversers Calculator 能进行十六进制的逻辑、数学、转换的计算,支持将十六进制二进制转换为十进制(有/无符号)和八进制结果,并可将字符串转换为十六进制值...
  • 必须实现的数制类型有二进制、八进制、十进制和十六进制四种。 2、基本要求: (1)使用Spinner 控件,列出四种数制类型,即:二进制、八进制、十进制和十六进制; (2)“数值”输入框,不使用Android系统提供的输入...
  • 唯美计算器,可用于解决windows自带计算器不能进行小数的多进制之间转换问题,适用于大学计算机基础课程中数制转换中小数的、八、十、十六进制转换。
  • 设计初衷: 作为一名嵌入式程序员,进制转换是入门必修课,而学习计算机也是必须要懂的最基础...编写一个程序,实现二进制、八进制、十进制、十六进制的相互转换。 提示:输入的数值后面的字母表示进制数,56D便是...
  • 题目 十六进制数1949对应的十进制数是...10进制转2进制 方法:Integer.toBinaryString(n)转换结果为一个二进制字符串. 10进制转8进制方法: Integer.toOctalString(n)转换结果为一个八进制字符串 10进制转16进...
  • 实现算术加、减、乘、除等基本运算; 实现三角函数的运算、对数运算、指数运算、阶乘等科学运算;...能实现基础进制转换(二进制、八进制、十进制、十六进制); 实现计算表达式及结果的保存,便于用户检查计算结果;
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    [程序员二进制计算器 v1.36 帮助] 一 用法 在底部框中输入要计算的表达式,会即时显示计算结果,当无结果时说明表达式输入有误。 按回车键保存该次输入、清空输入框,并显示详细结果,包括可能有的错误信息。 ...
  • 进制转换计算方法

    2020-05-29 11:31:30
    平时生活开发中,常见二进制、八进制、十进制、十六进制,换算方法书上都有教,真实记住的也就真正想学的! 0x开头是为16进制,也是很多方向常用的计数方式,比如颜色值之类。 那么16进制换算成十进制该如何进行...
  • 程序由来: 本人发现计算机中的计算器木有将十进制小数转二进制的功能,后来发现一些网站将十进制负数转成二进制只是求出正数的二进制,然后前面加“-”,这种表示不是真正的负数二进制。于是有点较真儿的本人写了...
  • 前面已经用了一个比较简单的方法把十进制转十六进制,只需要把%d改成%X即可,如果是八进制,则改成%O即可,但是,查了资料之后发现没有二进制对应的形式. 有时候,为了对数据进行分析,的确需要把十进制化成二进制...
  • 计算器使用VC 6.0 (C++)环境编写,是我院的学科作业,在我加以完善后,已可以支持小数之间的进制转换以及在二进制、八进制、十六进制下的独立运算。此计算器最大的特点在于能在用户输入完整串算式之后再计算。 ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 120
精华内容 48
关键字:

十六进制转二进制计算器