精华内容
下载资源
问答
  • 二进制十进制转换器

    热门讨论 2002-12-14 00:00:00
    二进制十进制转换器
  • 二进制十进制转换器

    千次阅读 2019-05-06 15:06:53
    # 题目一:二进制十进制的相互转换 def d2b(decimal_int): if decimal_int>sys.maxsize or decimal_int<(0-sys.maxsize): print ('Parameter Error') return -1 la = [] if decimal_int <...

     

    # 题目一:二进制与十进制的相互转换
    def d2b(decimal_int):
        if decimal_int>sys.maxsize or decimal_int<(0-sys.maxsize):
            print ('Parameter Error')
            return -1
        la = []
        if decimal_int < 0:
            return (bin(((1 << 32) - 1) & decimal_int)[2:]).zfill(32)
        while True:
            decimal_int, remainder = divmod (decimal_int, 2)
            la.append (str (remainder))
            if decimal_int == 0:
                return ''.join (la[::-1])
    
    
    def b2d(binary_string, flag = False):
        if flag==False:
            sum = 0
            length = len (binary_string)
            if length > 32:
                print ('Parameter Error')
                return -1
            for i in range (length):
                sum += int (binary_string[len (binary_string) - 1 - i]) * pow (2, i)
            # print(u"转换成十进制数是:", sum)
            return sum
        else:
            binary_string=list(binary_string)
            binary_string[0]='0'
            binary_string=''.join(binary_string)
            sum = 0
            length = len (binary_string)
            if length > 32:
                print ('Parameter Error')
                return -1
            for i in range (length):
                sum += int (binary_string[len (binary_string) - 1 - i]) * pow (2, i)
            # print(u"转换成十进制数是:", sum)
            return (0-sum)
    
    

     

    展开全文
  • Javascript和React中简单的二进制十进制转换器。 。 用户故事 用户可以在一个输入字段中输入最多8个二进制数字。 如果输入的不是0或1,则必须通知用户。 用户在单个输出字段中查看结果,其中包含与输入的...
  • 十进制的先决条件的先决条件: 可以使用通用通讯程序进行对话。 Ousuáriodeveráser notificado se um ennúmeroumnúmerobinárioválido。 可以使用通用的十进制通讯员来补充您的使用权。 一个负责任的职务...
  • 二进制十进制、十六进制、C51十六进制转换器,还有ASCII代码表,单个字符转换。
  • 进制类型进制可以分为以下...十进制转换二进制(整数)(最后一个一可以直接写上去)2.十进小数制转二进(如果是负数的话只需要在前面加入负号即可)1.3二进制转十进制整数1.4二进制转十进制小数八进制(0,1,2,3,4,5,6,7...

    进制类型

    进制可以分为以下几种类型;

    1.1 二进制 字母B表示

    1.2 八进制 字母O表示

    1.3 十进制 字母D表示

    14.4 十六机制 字母H表示

    二进制

    :逢二进一,只有数字0 1

    与十进制的换算关系如下;

    十进制转换为二进制(整数)

    (最后一个一可以直接写上去)

    2.十进小数制转二进

    (如果是负数的话只需要在前面加入负号即可)

    1.3二进制转十进制整数

    1.4二进制转十进制小数

    八进制(0,1,2,3,4,5,6,7)

    十六进制 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

    在八进制与十六进制之间转换为十进制都是一样的。

    具体的可以看到如下python代码

    '''用于二进制转换学习的练习代码相关代码和更多笔记教程可在 https://blog.csdn.net/FUTEROX 获取'''

    '''多造轮子多学习 '''

    def int_to_B(input_):

    '''对十进制数进行公式运算处理整数部分'''

    flag=True

    x=[]

    qu_mo = input_

    qu_yu = input_

    while flag:

    qu_yu=qu_mo%2

    x.append(qu_yu)

    qu_mo=qu_mo//2

    if qu_mo==1:

    x.append(qu_mo)

    flag=False

    number_int=''

    for i in x[::-1]:

    number_int=number_int+str(i)

    return number_int

    #此时返回的是一个整数部分的二进制数字

    #print(number_int)

    def float_to_B(f,jindu=4):

    '''默认精度为四'''

    B=[]#存放整数部分

    for i in range(jindu):

    f=f*2

    b_zhengshu=int(f)

    B.append(b_zhengshu)

    if b_zhengshu !=0:

    f=f-b_zhengshu

    float_n=''

    for i in B:

    float_n=float_n+str(i)

    return float_n

    if __name__=="__main__":

    print("欢迎使用进制转换工具")

    print('如果你想退出请按Q(必须为大写)')

    flag=True

    while flag:

    input_ = str(input("请你输入一个十进制的数字;"))

    if input_=="Q":

    #防止用户误操作必须使用大写字母Q退出

    print("感谢你的使用!!!")

    flag=False

    '''对输入的数字进行判断是否为整数还是小数

    如果是小数则对她进行分割,由于英文水平的问题,

    变量名多采用中文拼音进行命名'''

    if "." in input_:

    nub = []

    for i in input_:

    nub.append(i)

    if nub[0] != '0':

    way_point = nub.index(".")

    int_ = nub[0:way_point]

    int_un = ''

    for i in int_:

    int_un = int_un + str(i)

    # print(int_un)

    int_input = int(int_un)

    int_part = int_to_B(int_input)

    float_ = nub[way_point:]

    float_part = ''

    for i in float_:

    float_part = float_part + str(i)

    float_part = "0" + float_part

    float_part = float(float_part)

    float_part = float_to_B(float_part)

    # 开始整合字符串,两个函数运算后产生的都是字符串类型

    last_number = int_part + '.' + float_part

    last_number = float(last_number)

    print(last_number)

    elif nub[0] == '0':

    number = float_to_B(float(input_))

    number = '0.' + number

    number = float(number)

    print(number)

    elif "." not in input_ and input_!="Q":

    input_ = int(input_)

    reason = int(int_to_B(input_))

    print(reason)

    可以看到上面的算法将十进制转化为了二进制,那么其实只需要将% 2和 //2换成 %8,//8等等。

    不同进制间的转换

    1.1二进制 → 八进制

    先,看到下图的对应表

    例:将二进制的(11010111.0100111)B转换为八进制的步骤如下:

    小数点前111 = 7;

    010 = 2;

    11补全为011,011 = 3;

    小数点后010 = 2;

    011 = 3;

    1补全为100,100 = 4;

    当然你也可以二进制换十进制再换八进制。

    1.2 八进制 → 二进制

    方法:取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。

    例:将八进制的(327)O转换为二进制的步骤如下:

    3 = 011;

    2 = 010;

    7 = 111;

    读数,读数从高位到低位,011010111,即(327)O=(11010111)B

    1.3 八进制 → 十六进制

    方法:将八进制转换为二进制,然后再将二进制转换为十六进制,小数点位置不变。

    例:将八进制的(327)O转换为十六进制的步骤如下:

    3 = 011;

    2 = 010;

    7 = 111;

    0111 = 7;

    1101 = D;

    读数,读数从高位到低位,D7,即(327)O=(D7)H。

    etc…

    二进制加减(补充)

    展开全文
  • Q:输入一个十进制数,转换二进制数。 思路:除2取余 #include<stdio.h> detobi(int a) { int stack[10],i=0,r,s; do { r=a/2; s=a%2; stack[i]=s; if(r!=0) { i++; a=r; ...

    Q:输入一个十进制数,转换为二进制数。

    思路:除2取余

    #include<stdio.h>
     detobi(int a) {
    	int stack[10],i=0,r,s;
    	do {
    		r=a/2;
    		s=a%2;
    		stack[i]=s;
    		if(r!=0) {
    			i++;
    			a=r;
    		}
    	}while(r);
    	
    	for(;i>=0;i--)
    		printf("%d",stack[i]);
    	printf("\n");
    
    }
    
    int main() {
    	int a;
    	printf("input a Decimal digit less than 1023\n");
    	scanf("%d",&a);
    	detobi(a);
    	
    	return 0;
    }
    

      

    转载于:https://www.cnblogs.com/dd2hm/p/6756401.html

    展开全文
  • 总感觉进制转换应该有系统方法的感觉。 // // MainViewController.m // Computer // // Created by 杜子兮 on 13-12-17. // Copyright (c) 2013年 莲兮奈若何. All rights reserved. // #define OX

    还是那句话,没有第一时间在网上找到想要的参考代码,就自己动手做了一个。

    总感觉进制转换应该有系统方法,哪位大神若知道还请不吝赐教。

    //
    //  MainViewController.m
    //  Computer
    //
    //  Created by 杜子兮 on 13-12-17.
    //  Copyright (c) 2013年 莲兮奈若何. All rights reserved.
    //
    
    #define OX 10
    #define OY 120
    #define INNER 5
    #define WIDTH 45
    #define HEIGHT 45
    
    #import "MainViewController.h"
    
    @implementation MainViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, 320, 50)];
        
        label.text = @" 进制转换器 ";
        label.textAlignment = NSTextAlignmentCenter;
        [self.view addSubview:label];
        [label release];
        
        _textField = [[UILabel alloc]initWithFrame:CGRectMake(OX, 70, 320 - OX * 2, 40)];
        //_textField.borderStyle = UITextBorderStyleRoundedRect;
        _textField.textAlignment = NSTextAlignmentRight;
        [_textField setBackgroundColor:[UIColor lightGrayColor]];
        [self.view addSubview:_textField];
        
        CGRect rect = CGRectMake(OX, OY , WIDTH, HEIGHT);
        
        //数字按键
        for (int i = 0; i < 16; i++) {
            UIButton * bt = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            [bt setTag:i];
            [bt setFrame:rect];
            
            NSString * title = [[NSString alloc]init];
            if (i < 10) {
                title = [NSString stringWithFormat:@"%d",i];
            }else{
                title = [NSString stringWithFormat:@"%c",'A' + i - 10];
            }
            
            [bt setTitle:title forState:UIControlStateNormal];
            [bt.layer setMasksToBounds:YES];
            [bt.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
            [bt setBackgroundColor:[UIColor orangeColor]];
            [bt setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            [bt addTarget:self action:@selector(numInput:) forControlEvents:UIControlEventTouchUpInside];
            
            [self.view addSubview:bt];
            [bt release];
            
            if (((i + 1) % 5 == 0) && (i != 14)) {
                rect.origin.y += HEIGHT + INNER;
                rect.origin.x = OX;
            }else{
                rect.origin.x += WIDTH + INNER;
            }
        }
        
        //取消按键
        rect.origin.y -= (HEIGHT + INNER) * 2;
        rect.origin.x -= WIDTH + INNER;
        
        UIButton * bt = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [bt setTag:30];
        [bt setFrame:rect];
        [bt setTitle:@"C" forState:UIControlStateNormal];
        [bt.layer setMasksToBounds:YES];
        [bt.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
        [bt setBackgroundColor:[UIColor blueColor]];
        [bt setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        [bt addTarget:self action:@selector(clean) forControlEvents:UIControlEventTouchUpInside];
        
        [self.view addSubview:bt];
        [bt release];
        
        rect = CGRectMake(OX + INNER, OY + (WIDTH + INNER) * 4, WIDTH * 3, HEIGHT / 1.5);
        
        //进制转换按钮
        
        int tag = 21;
        NSArray * btArray = [NSArray arrayWithObjects:@"二进制转十进制",
                                                      @"十进制转二进制",
                                                      @"二进制转十六进制",
                                                      @"十六进制转二进制",
                                                      @"十进制转十六进制",
                                                      @"十六进制转十进制", nil];
        
        for (int i = tag; i < tag + 6; i++) {
            
            UIButton * btTurn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            btTurn.tag = i;
            btTurn.frame = rect;
            [btTurn setTitle:[btArray objectAtIndex:i - 21] forState:UIControlStateNormal];
            [btTurn.layer setMasksToBounds:YES];
            [btTurn.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
            [btTurn setBackgroundColor:[UIColor darkGrayColor]];
            [btTurn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            [btTurn addTarget:self action:@selector(numTurn:) forControlEvents:UIControlEventTouchUpInside];
            [self.view addSubview:btTurn];
            [btTurn release];
            
            if (i % 2 == 1) {
                rect.origin.x += (WIDTH + INNER) * 3;
            }else{
                rect.origin.y += HEIGHT / 1.5 + INNER;
                rect.origin.x = OX + INNER;
            }
        }
        
    }
    
    - (void)clean{
        _textField.text = @"";
    }
    
    - (void)numTurn:(UIButton *)sender{
        NSLog(@"%s",__func__);
        NSString *str = _textField.text;
        
        if (sender.tag == 26) {       // 16 -> 10
            _textField.text = [self turn16to10:str];
        }else if (sender.tag == 21) { //  2 -> 10
            _textField.text = [self turn2to10:str];
        }else if (sender.tag == 22) { // 10 ->  2
            _textField.text = [self turn10to2:str];
        }else if (sender.tag == 25) { // 10 -> 16
            _textField.text = [self turn10to16:str];
        }else if (sender.tag == 23) { //  2 -> 16
            NSString *strTemp = [self turn2to10:str];
            _textField.text = [self turn10to16:strTemp];
        }else if (sender.tag == 24) { // 16 ->  2
            NSString *strTemp = [self turn16to10:str];
            NSLog(@"%@",strTemp);
            _textField.text = [self turn10to2:strTemp];
        }
    }
    
    - (NSString *) turn10to16:(NSString *)str{
        int num = [str intValue];
        NSMutableString * result = [[NSMutableString alloc]init];
        while (num > 0) {
            int a = num % 16;
            char c;
            if (a > 9) {
                c = 'A' + (a - 10);
            }else{
                c = '0' + a;
            }
            NSString * reminder = [NSString stringWithFormat:@"%c",c];
            [result insertString:reminder atIndex:0];
            num = num / 16;
        }
        return [result autorelease];
    }
    
    - (NSString *) turn10to2:(NSString *)str{
        int num = [str intValue];
        
        NSMutableString * result = [[NSMutableString alloc]init];
        while (num > 0) {
            NSString * reminder = [NSString stringWithFormat:@"%d",num % 2];
            [result insertString:reminder atIndex:0];
            num = num / 2;
        }
        return [result autorelease];
    }
    
    - (NSString *) turn2to10:(NSString *)str{
        int sum = 0;
        for (int i = 0; i < str.length; i++) {
            sum *= 2;
            char c = [str characterAtIndex:i];
            sum += c - '0';
        }
        return [NSString stringWithFormat:@"%d",sum];
    }
    
    - (NSString *) turn16to10:(NSString *)str{
        int sum = 0;
        for (int i = 0; i < str.length; i++) {
            sum *= 16;
            char c = [str characterAtIndex:i] ;
            if (c >= 'A') {
                sum += c - 'A' + 10;
            }else{
                sum += c - '0';
            }
        }
        return [NSString stringWithFormat:@"%d",sum];
    }
    
    - (void)numInput:(UIButton *)sender{
        NSLog(@"%s",__func__);
        if (!_textField.text) {
            _textField.text = @"";
        }
        _textField.text = [NSString stringWithFormat:@"%@%@",_textField.text,sender.titleLabel.text];
        
    }
    
    @end
    


    没有做完整的测试,只是简单试了几个数都好用。欢迎bug提出。


    展开全文
  • C#中,使用Convert.ToString方法可以将十进制转换二进制、八进制和十六进制,使用Convert.ToInt64方法可以将二进制、八进制和十六进制转换成十进制。那么如何将二进制转换成十六进制呢?方法就是首先使用Convert....
  • 输入十进制转换二进制 输入二进制转换十进制
  •  输出: 10000010 (二进制) 输出: 202 (八进制) 输出: 82 (十六进制)  1、从程序算法的优化程度、程序的通用性、程序的规范性来评判;  2、没有使用已有的函数或软件包来实现,最好是自己根据数制转换...
  • 一个小形数制转换器,支持2进制、3进制、8进制、10进制、16进制的直接输入转换。 支持64位长整数
  • 很久没有开始没写文章了,挺对不起一些支持我的博友。... 到公司发现很多时候需要用到进制转换器,然后我第一天上班就开发了一个,这里会分享代码,工程文件,以及制作好的工具。代码写得不够简洁,大家凑合用吧,但
  • 各种数制的转换二进制,八进制,十进制,十六进制
  • 冯诺伊曼体系:计算机的五大组成部分(硬件)“运算、控制、存储器、输入、输出”。 cpu(中央处理):来完成运算和控制的功能。...二进制十进制 十进制二进制 8bit=1type #八位=1字节 ...
  • python语言程序化一个二进制十进制互相转换的程序
  • 对于普通人来说,十进制更加容易阅读,本例子将实现一个进制转换器。 package mytest; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPa...
  • 一、分析 除2取余法,先得到的是低位,后得到的是高位。所以可以用栈思想计算 、源码 1: #include "stdio.h" 2: 3: void DeToBi(int a) 4: { 5: int i = 0, stack[10], r, s; 6: 7: do 8: { 9: r = ...
  • 二进制十进制-源码

    2021-02-21 09:52:25
    二进制到十进制 一个简单的二进制十进制转换器。 可能很有趣,但是我闲着时做到了
  • 十进制整数转二进制 ...二进制整数转换器 十进制浮点数转IE754格式二进制 IE754格式二进制 S 符号位:     1 表示negative负数 ; 0表示 positive正数 Exponent(阶码):     规格化阶码范围为0000 0001 (-
  • python实现进制转换(二、八、十六进制;十进制)(一)十进制整数转为二、八、十六进制1、format实现转换>>> format(2,"b") # (10进制的)2转二进制'10'>>> format(9,"o") # (10进制的)9转八进制'11'&...
  • 进制类型进制可以分为以下...十进制转换二进制(整数)(最后一个一可以直接写上去)2.十进小数制转二进(如果是负数的话只需要在前面加入负号即可)1.3二进制转十进制整数 1.4二进制转十进制小数八进制(0,1,2,3,4,5,6,...
  • 这是个数学二进制十进制,十六进制转换工具,是运行安卓手机的工具,非常方便,适合科学计算
  •  printf("请输入要转换的进制数(二进制或八进制):\n");  scanf("%d",&m);  while(n){  Pushstack(l,n%m);  n=n/m;  }  printf("转换为%d进制的结果为:\n",m);  while(EmptyStack(l)){  e=...
  • 二进制转换器

    2018-04-20 19:31:37
    实现输入一个十进制数,输出其对应的二进制数方法一:自创数组法#include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;stdlib.h&gt; int main() { int i,n; long long m; printf...
  • 二进制转格雷码 格雷码转二进制 十进制二进制 二进制十进制等,在Delphi xe2下通过测试。格雷码(英文:Gray Code, Grey Code,又称作葛莱码,二进制循环码)是1880年由法国工程师Jean-...二进制格雷码转换器截图:
  • 这里写自定义目录标题欢迎使用Markdown编辑新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 如果图灵机用十进制来表示数,控制需要大量的程序来表示状态来确定指令。状态描述会增加 最后权衡下,计算机使用二进制 计算机如何计算二进制数 图灵机使用纸袋的计算过程: 1:判断当前状态 2:读取纸袋...
  • 虽然Java开发者已经对其进行了封装,但还是要学会自己编写相应的进制转换器的。 常用的进制有二进制,八进制,十进制,十六进制。 二.将整数转换成十六进制 二.一 将int整数转换成十六进制(一) 先写一个主方法,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 520
精华内容 208
关键字:

二进制十进制转换器