-
python手写进制转换(本文仅探讨从十进制转二进制,八进制,十六进制)
2020-09-05 15:41:03python手写进制转换(本文仅探讨从十进制转二进制,八进制,十六进制)分析:二进制:代码:八进制:十六进制:小结 看了这篇博客,就想记录一下,免得忘了。 分析: 二进制: 我们都知道,二进制就是逢2进1,但是...
看了这篇博客,就想记录一下,免得忘了。分析:
二进制:
我们都知道,二进制就是逢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进制等等,都是可以的。
-
Java声效计算器(带有十进制转二进制和十六进制的功能)
2019-07-20 10:23:30@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(); }
}
运行结果:
-
十六进制与二进制之间的快速转换
2020-08-02 12:39:37以十进制转二进制为例,例如80转二进制: 80可以分为64+16,那么二进制数轴上64和16上面是1,其余位补0 计算器验证: 再以70为例: 同样的,十进制转十六进制也是一样的道理。 二.十六进制与二进制之间的快速转换...生活中我们常常采用的是十进制,但计算机却习惯于二进制数。为了避免面对繁杂的01串,展现给程序猿操作的常常是十六进制数。
一.十进制数与十六进制、二进制数的快速转换
常见的进制转换方法是除二取余法,从下往上取余数。这里记录另外一种快速实现进制转换的方法:
以十进制转二进制为例,例如80转二进制
:
80可以分为64+16,那么二进制数轴上64和16上面是1,其余位补0
计算器验证:
再以70为例
:
同样的,十进制转十六进制也是一样的道理。二.十六进制与二进制之间的快速转换
十六进制与二进制之间存在特殊的关系:二进制数的四位相当于十六进制数的一位。因此,我们可以利用这一特点对其进行快速转换,以
十六进制数8F为例
:
将每一位上的数字都看作十进制数,分别化为四位的二进制数,最后组合结果得出答案。
计算器验证:
-
十进制转成二进制/八进制/十六进制,原码补码反码介绍
2020-02-28 18:44:13各种进制之间的相互转换...二进制 逢二进一 八进制 逢八进一 十六进制 逢十六进一 十进制—>二/八/十六进制 口诀 整数部分,除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为补码 -
HexTool十六进制计算器V1.7.0.1中文版.rar
2019-09-04 17:45:44一个很实用的小工具,能够将十六进制转换为十进制及二进制。这个是最新的汉化版,包含IP地址字段和字节序翻转按钮。可以在简单模式及高级模式之间切换,在寄器ABC执行操作,结果将存储在寄存器中。适用平台:WINDOWS... -
vb 十进制转换二进制计算器和源代码
2009-05-13 19:33:13vb做界面的二进制计算器。可以自己在写上十六进制和八进制转换! -
十进制 二进制 十六进制转换
2019-09-25 23:22:01十进制转二进制/十六进制我觉得最简单也最方便的办法就是直接用计算器算了。 如果不依赖工具,那我们要如何去计算呢。 先来说说二进制。最多见的是短除法。所谓短除法大家可以去看看... -
二进制转换,八进制,十六进制转换
2015-02-27 13:45:00计算器的转换 手动转换 10转2,转8 转16。 2转8 转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 ... -
二进制,八进制,十进制和十六进制 之间的关系转换
2012-01-24 10:13:07论坛上看到好多帖子在讨论各种进制...这里简单写了一个各种进制之间的转换函数,当然目前仅实现了二进制,八进制,十进制和十六进制,而且关于扫描输入这块也并非完善,只是简单提供一个reference code,其他有兴趣的朋 -
二进制、八进制、十六进制 转为 十进制
2014-04-14 10:56:11一:最快的方法自然是 用计算器,依次:开始>附件>计算器>查看>科学型 就可以打开科学计算器 例1:二进制 101010 转 十进制 方法:点一下二进制,输入101010,点一下十进制 得出结果42 二:笔算,各种进制 先转成十... -
Android代码-进制转换计算器
2019-08-07 18:52:07Radix 十进制,二进制,八进制,十六进制数相互转换的计算器,采用 Rxbinding实现 用到的开源库 RxJava 2.x RxAndroid butterknife RxBinding 界面预览 APK下载 CoolApk GooglePlay -
各种进制(二、八、十、十六)相互转换带图详解
2020-11-30 12:20:39文章目录概念说明工具使用进位计数制的概念二进制 转 十进制八进制 转 十进制十六进制转十进制十进制 转(二、八、十六进制)十进制 转 二进制十进制 转 八进制十进制 转 十六进制二进制 转 (八、十六进制)二进制 ... -
基于MFC的进制转换计算器
2014-03-09 18:31:30基于MFC的进制转换计算器使用Visual C++ 6.0 (C++)环境编写,在二进制、八进制、十六进制之间能相互进行转换。可以在复选框中选择输入数据加进制符号或转换结果加进制符号等。 -
32位进制转换计算器v1.0.5
2020-03-13 16:22:16使用VB编写的进制转换器,支持32位位宽...1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 (新增功能) 3. 连续地与操作, 或操作, 异或操作 (新增功能) 4. 统计结果数值中1的个数用与辅助测试奇偶校验 (新增功能) -
一个多功能可进制转换计算器
2011-04-11 18:58:10本计算器能够实现二进制、八进制、十进制和十六进制的相互转换;二进制、八进制、十进制和十六进制的加减乘除运算;以及十进制的简单科学计算:sin,cos,tan,sqrt,ln,exp。 -
挑战CPU运算能力2-输出十进制、二进制、八进制及十六进制对照表(Table of Binary, Octal and Hexadecimal ...
2016-07-06 16:28:09花了1个多小时写的,有一定的实用性和健壮性,挺有成就感的。...3.十进制转其他进制,使用了一套逻辑,一个方法,简单、可靠 4.增加了时间戳,程序运行结束时,会显示用时。调试程序时输入较大的数字时,输... -
ASCII及十六进制转换工具《建》
2010-09-11 10:39:41IP转二进制:把IP地址或子网掩码转化为二进制形式. 二进制数操作:把上面转化到的IP二进制进行取反、与、或操作。 说明:普通二进制(即没有包括".")也可进行操作。 IP二进制转十进制:即把上面得到的二进制结果... -
32位进制转换计算器v1.0.6.exe
2020-03-17 15:24:25使用VB编写的进制转换器,支持32位...1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 3. 连续地与操作, 或操作, 异或操作 4. 统计结果数值中1的个数用与辅助测试奇偶校验 6. 输入格式限制(正则表达式)(新增) -
Reversers Calculator(16进制计算器) v1.2.zip
2019-07-13 23:33:49进制转换对于学计算机的朋友是必须要学会的一个知识,Reversers Calculator 能进行十六进制的逻辑、数学、转换的计算,支持将十六进制和二进制转换为十进制(有/无符号)和八进制结果,并可将字符串转换为十六进制值... -
使用Android Studio做一个简易进制转换计算器
2020-10-04 15:40:33必须实现的数制类型有二进制、八进制、十进制和十六进制四种。 2、基本要求: (1)使用Spinner 控件,列出四种数制类型,即:二进制、八进制、十进制和十六进制; (2)“数值”输入框,不使用Android系统提供的输入... -
唯美计算器(解决windows计算器小数进制转换问题)
2014-10-08 20:47:59唯美计算器,可用于解决windows自带计算器不能进行小数的多进制之间转换问题,适用于大学计算机基础课程中数制转换中小数的二、八、十、十六进制转换。 -
基于C语言的各进制转换计算器程序设计
2020-02-06 23:01:34设计初衷: 作为一名嵌入式程序员,进制转换是入门必修课,而学习计算机也是必须要懂的最基础...编写一个程序,实现二进制、八进制、十进制、十六进制的相互转换。 提示:输入的数值后面的字母表示进制数,56D便是... -
进制转换(进制转换的法则都在这里哦)
2020-04-18 19:15:43题目 十六进制数1949对应的十进制数是...10进制转2进制 方法:Integer.toBinaryString(n)转换结果为一个二进制字符串. 10进制转8进制方法: Integer.toOctalString(n)转换结果为一个八进制字符串 10进制转16进... -
QT实现计算器(包含科学计算与进制转换)
2020-10-09 18:44:57实现算术加、减、乘、除等基本运算; 实现三角函数的运算、对数运算、指数运算、阶乘等科学运算;...能实现基础进制转换(二进制、八进制、十进制、十六进制); 实现计算表达式及结果的保存,便于用户检查计算结果; -
程序员二进制计算器 v1.36
2014-07-16 16:21:43[程序员二进制计算器 v1.36 帮助] 一 用法 在底部框中输入要计算的表达式,会即时显示计算结果,当无结果时说明表达式输入有误。 按回车键保存该次输入、清空输入框,并显示详细结果,包括可能有的错误信息。 ... -
进制转换计算方法
2020-05-29 11:31:30平时生活开发中,常见二进制、八进制、十进制、十六进制,换算方法书上都有教,真实记住的也就真正想学的! 0x开头是为16进制,也是很多方向常用的计数方式,比如颜色值之类。 那么16进制换算成十进制该如何进行... -
获取码值(各种类型字符(中、英)的ASCII)和进制转换
2018-04-18 11:40:06程序由来: 本人发现计算机中的计算器木有将十进制小数转二进制的功能,后来发现一些网站将十进制负数转成二进制只是求出正数的二进制,然后前面加“-”,这种表示不是真正的负数二进制。于是有点较真儿的本人写了... -
把十进制转成二进制的一个简单易行的方法(不需要用栈) .
2012-11-24 16:12:03前面已经用了一个比较简单的方法把十进制转成十六进制,只需要把%d改成%X即可,如果是八进制,则改成%O即可,但是,查了资料之后发现没有二进制对应的形式. 有时候,为了对数据进行分析,的确需要把十进制化成二进制... -
用MFC编的计算机程序——仿日常使用的学生计算器,更支持小数的进制转换和各进制下的运算
2010-09-04 13:12:20本计算器使用VC 6.0 (C++)环境编写,是我院的学科作业,在我加以完善后,已可以支持小数之间的进制转换以及在二进制、八进制、十六进制下的独立运算。此计算器最大的特点在于能在用户输入完整串算式之后再计算。 ...
-
Liunx 优化思路与实操步骤
-
2021-03-01
-
EFCon:可持续无线传感器网络的能量流控制
-
787. K 站中转内最便宜的航班 图类和边相关的dp
-
opencv深度图可视化
-
Mysql数据库面试直通车
-
Tensorflow的可视化工具Tensorboard的初步使用详解
-
微服务架构下的测试之道
-
jenkins_gitlab.rar
-
MySQL 四类管理日志(详解及高阶配置)
-
linux基础入门和项目实战部署系列课程
-
Fiddler获取本机的HTTP Requests 抓包应用
-
后端服务假装-源码
-
Vue通过登录状态控制导航栏的显示
-
闭包与循环
-
选择GPU服务器的五大基本原则
-
UML图解:活动图(activitydiagram)
-
paradigm-shift:范式转换模板-源码
-
关于家庭收纳:请好好运用二维码!
-
面向移动目标的传感器网络覆盖质量度量与优化