精华内容
下载资源
问答
  • 实现IP点分转换十六进制整型类型,帮助理解IP地址类型
  • 那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了。先列两种简单的方法:1) echo 自己就能实现,相当...

    那天写个脚本,需要把十六进制的数字转成十进制的打出来,发现不知道要怎么弄,搜一下,原来还是很简单的,比用C语言什么的容易多了,就一些现成的命令就解决了。

    先列两种简单的方法:

    1) echo 自己就能实现,相当简单。不过,不知道如果要从十进制转换回十六进制能怎么写。

    ]$ echo $((0xac))

    172

    2) printf 也可以哦,十六进制和十进制互相转换都没问题

    ]$ printf %d 0xac

    172

    ]$ printf %x 172

    ac

    然后,稍微麻烦一点的是 bc 这个命令。虽然网上介绍的人很多,可是到底 bc 的那两个参数是怎么用的,还是不太明白,感觉自己也是从结果推原因而已,并不真的明白这个命令的参数如此设计的意义。不管怎样,先把例子写在这里,将来再研究吧。

    3) bc 的作用:十六进制和十进制互转,十进制和二进制之间也可以转换。

    把十六进制转换成十进制

    ]$ echo 'ibase=16;obase=A; AC'|bc

    172

    ]$ echo 'ibase=16;obase=1010; AC'|bc   (Linux)

    0172

    > echo 'ibase=16;obase=1010; AC'|bc    (Unix)

    output base is too large

    172

    注意这里:在 Unix 里面执行的时候会报这么个错误,但还是会有结果。

    ]$ echo 'ibase=16;AC' | bc

    172

    把十进制转换成十六进制

    ]$ echo 'ibase=10;obase=16;172'|bc

    AC

    ]$ echo 'obase=16;172'|bc

    AC

    把十进制转换成二进制

    ]$ echo 'obase=2;172'|bc

    10101100

    把二进制转换成十进制

    ]$ echo 'ibase=2;10101100'|bc

    172

    貌似 ibase 和 obase 这两个参数的 default 值就是10(十进制),所以似乎如果不写的话,ibase 代表输入的参数是十进制,obase 代表输出的值是十进制。也就是说,不是十进制的时候才注明,似乎这样就不会错了。

    恩,再研究研究。

    http://blog.sina.com.cn/s/blog_a3052b4a0100z4nk.html

    C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方

    #include /* 十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方: 在16进制中:a(A)=10 b(B)=11 c(C)=12 d(D)= ...

    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制

    问题描述 请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这 ...

    Java中将0x开头的十六进制字符串转换成十进制整数

    1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...

    linux c/c++ IP字符串转换成可比较大小的数字

    由www.169it.com搜集整理 IP字符串转换成可比较大小的数字,具体代码如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include "stdio. ...

    linux环境下deb格式 转换成rpm格式

    linux环境下deb格式 转换成rpm格式 使用alien工具转换deb格式到rpm格式 alien_8.87.tar.gz 下载alien_8.87.tar.gz [root@mysqlnode2 ...

    输入二进制数转换成十进制数(在cin>>和cin.get()上掉的坑)

    题目:输入一个二进制数转换成十进制. 题目分析:书上说,在一般情况下,c++的键盘输入可以识别是十进制数.八进制数和十六进制数,因此输入的二进制数据要作为字符处理.(其实我觉得数字也没问题吧). 正确 ...

    Linux xargs将输出数据流转换成命令参数

    200 ? "200px" : this.width)!important;} --> 介绍 我们可以利用管道将一个命令的“标准输出”作为另一个命令的“标准输入”:但是这里的 ...

    Linux基础命令---文本格式转换expand,unexpand

    expand 将文件中的tab转换成空格,结果送到标准输出.如果没有指定文件,那么从标准输入读取. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.F ...

    转:linux/unix命令行终端的光标及字符控制快捷键

    from:http://linux.chinaunix.net/techdoc/system/2007/11/23/973027.shtml 在使用linux/unix的命令行终端时,有时候会碰到键盘 ...

    随机推荐

    MySQL学习笔记八:日期/时间的处理

    MySQL日期时间的处理,在其官网文档上都有详细的阐述,想了解更多的同学可自行查阅. 1.查询当前日期时间:函数有now(),localtime(),current_timestamp(),sysda ...

    Java学习第一步: Win7配置JDK环境

    转摘"专注JavaWeb开发":http://www.javaweb1024.com/java/Javajichu/2015/03/02/353.html 下载JDK并安装到本机  ...

    各种less开发工具

    less是前端开发CSS的神器,但如何让less代码语法高亮,智能提示,快速编译及格式化,这不是一般的IDE的less插件能做到.下面是我搜刮到的一些工具 Codekit - incident57又一 ...

    修改tabbarcontroller选中图片及选中颜色

    1.修改选中图片: UITabBarItem* item = [self.tabBarController.tabBar.items objectAtIndex:1];   //从0开始 item.s ...

    WinCE启动次数的记录

    最近一周一直在忙于测试NAND文件系统的稳定性和可靠性,今天终于有所进展.测试组所有同事齐上阵,加上小高和我,测试了一天,都未发现问题.虽然还不能保证完全OK,但至少有所改善了. 测试组今天主要做了文 ...

    Nagios+msn+fetion自定义时间发送报警消息

    转自http://blog.csdn.net/deccmtd/article/details/6063467 Nagios+fetion发送手机报警使用了几个月.每次报警短信来都要看下手机.感觉麻烦. ...

    View绘制详解(三),扒一扒View的测量过程

    所有东西都是难者不会,会者不难,Android开发中有很多小伙伴觉得自定义View和事件分发或者Binder机制等是难点,其实不然,如果静下心来花点时间把这几个技术点都研究一遍,你会发现其实这些东西都 ...

    网易新闻首页iOS

    // //  ViewController.m //  wyy // //  Copyright © 2016年 zm. All rights reserved. // #import "V ...

    c语言,字符串原地翻转

    实现字符串的原地翻转: #include #include #include #define SWAP(a ...

    html5 读写sqlite数据库

    var db = openDatabase('MyData','','My Database',102400); //首先它创建一个数据库表,里面有3个字段 db.transaction(functi ...

    展开全文
  • 本次教程将讲解如何使用python实现十进制到二进制,八进制,十六进制转换。 教程篇 十进制转二进制 bin 函数官方讲解: Help on built-in function bin in module builtins: bin(number, /) Return the...

    python3中内置了数字进制转换的模块,各位读者可以放心食用。本次教程将讲解如何使用python实现十进制到二进制,八进制,十六进制的转换。

    教程篇

    1. 十进制转二进制
    bin 函数官方讲解:
    Help on built-in function bin in module builtins:
    bin(number, /)
        Return the binary representation of an integer.    
        >>> bin(2796202)
        '0b1010101010101010101010'
    实际上是说给Bin函数传递一个数字后,将会将转换后的二进制数字作为返回值弹出
    举例:
    >>> print (bin(10))
    0b1010
    得到了十进制数字10的二进制值为1010
    
    1. 十进制转八进制
    oct 函数官方讲解:
    Help on built-in function oct in module builtins:
    oct(number, /)
        Return the octal representation of an integer.    
        >>> oct(342391)
        '0o1234567'
    实际上是说给Oct函数传递一个十进制数字后,会将处理的得到的八进制数字作为返回值弹出
    举例:
    >>> print (oct(10))
    0o12
    得到了十进制数字10的八进制值为012
    
    1. 十进制转十六进制
    hex 函数官方讲解:
    Help on built-in function hex in module builtins:
    hex(number, /)
        Return the hexadecimal representation of an integer.    
        >>> hex(12648430)
        '0xc0ffee'
    实际上是说给Hex函数传递一个数字后,会将转换得到的十六进制数据以返回值的形式弹出
    举例:
    >>> print (hex(10))
    0xa
    得到了十进制数字10转换的十六进制数据0xa
    
    1. 反向转换
    int(‘value’,base=n)
    n是几,就是几进制转10进制。注意,value必须是字符串类型。举例:
    
    1. 二进制转10进制
    >>> int('10010010',base=2)
    146
    
    2. 八进制转10进制
    >>> int('0o222',base=8)
    146
    
    3. 十六进制转10进制
    >>> int('0x92',base=16)
    146
    

    实战篇

    上面的内容中我们讲解了10进制与二进制,八进制,十六进制之间的转换。
    下面我们使用这些内容做一些小实验

    1. 子网掩码转换
      要求用户输入子网掩码的位数,程序自动计算该掩码长度对应的子网掩码
    # -*- coding:utf-8 -*-
    #作者:猫先生的早茶
    #时间:2019年6月15日
    
    #获取掩码长度
    mask = int(input("请输入子网掩码位数:"))
    #计算子网掩码的二进制值
    bin_mask = "{:0<32}".format('1' * mask)
    #分割掩码
    bin_mask_list = [bin_mask[0:8],bin_mask[8:16],bin_mask[16:24],bin_mask[24:32]]
    #计算掩码的十进制值
    ten_mask = ''
    for value in bin_mask_list:    
        ten_mask += '{}.'.format(int(value,base=2))
    #打印结果
    print ("掩码长度{}对应的子网掩码是{}".format(mask,ten_mask.rstrip('.')))
    
    1. 网络位,广播位计算
      要求用户输入ip地址和掩码长度,即可自动计算出当前网络的网络地址和广播地址
    # -*- coding:utf-8 -*-
    #作者:猫先生的早茶
    #时间:2019年6月15日
    
    #获取IP和掩码
    ip_address = input("请输入IP地址和掩码长度(格式:IP地址/掩码长度):")
    ip,mask =ip_address.split('/')
    #将IP转换为2进制数据
    src_bin_ip = ''
    for value in ip.split('.'):
        src_bin_ip += "{:0>8}".format(bin(int(value)).replace('0b',''))
    #计算IP网段的二进制数据
    bin_net = "{:0<32}".format(src_bin_ip[:int(mask)])
    #计算IP广播的二进制数据
    bin_bro = "{:1<32}".format(src_bin_ip[:int(mask)])
    #计算IP网段的十进制数据
    bin_net_list = [bin_net[0:8],bin_net[8:16],bin_net[16:24],bin_net[24:32]]
    ten_net = ''
    for value in bin_net_list:
        ten_net += "{}.".format(int(value,2))
    #计算IP广播的十进制数据
    bin_bro_list = [bin_bro[0:8],bin_bro[8:16],bin_bro[16:24],bin_bro[24:32]]
    ten_bro = ''
    for value in bin_bro_list:
        ten_bro += "{}.".format(int(value,2))
    #打印结果:
    print ("该IP的网络地址是:{},广播地址是:{}".format(ten_net.rstrip('.'),ten_bro.rstrip('.')))
    
    
    展开全文
  • //十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; /*RGB颜色转换为16进制*/ String.prototype.colorHex = function(){  var that = this;  if(/^(rgb|RGB)/.test(that)){  var a...
  • 十六进制时间转化器和IP转化器

    热门讨论 2014-03-10 22:37:35
    这个工具我一直在找寻,却没有找到过,于是自己编写了一个。 提供16进制数值和标准时间之间的相互转换,附带IP地址和对应16进制形式的相互转换。这个工具在解密工作中非常有用。 欢迎下载。
  • include "csapp.h" void main(int argc,char* argv[]) ... printf("点分十进制形式为:\t%d.%d.%d.%d\n",dd[0],dd[1],dd[2],dd[3]); } 转载于:https://my.oschina.net/zzw922cn/blog/470832
    include "csapp.h"
    
    void main(int argc,char* argv[])
    {
      char *hex=argv[1];
      if(argc<2||*hex!='0'||*(hex+1)!='x')
        printf("input error!you should input like this:%s 0x8002c2f2\n",argv[0]);
      int dd[4];
      int i;
      for(i=1;i<=4;i++) {
        char ch1 = *(hex+i*2);
        char ch2 = *(hex+i*2+1);
        int dd1 ;
        int dd2 ;
        dd1 = char2int(ch1,15);
        dd2 = char2int(ch2,16);
        dd[i-1] = dd1*16+dd2;
      }
      printf("点分十进制形式为:\t%d.%d.%d.%d\n",dd[0],dd[1],dd[2],dd[3]);
    }


    转载于:https://my.oschina.net/zzw922cn/blog/470832

    展开全文
  • 本课程内容如下:第1节 二进制及十进制的由来第2节 二进制、十进制、八进制、十六进制的表示方法第3节 二进制和十进制之间的相互转换第4节 二进制和八...把十进制IP转换成二进制表示形式第7节 二进制算数运算和逻辑运算
  • 二进制与十六进制转换与应用

    千次阅读 2020-12-24 15:38:28
    在说二进制前,先说一下我们常用的十进制十进制就是逢10进位,十进制是由0、1、2、3、4、5、6、7、8、9这10个基本数字组成。每次在9之后(也就是10)就进一位,我们可以把9先理解09,10就是在09的9的钱一位进一位...

    在说二进制前,先说一下我们常用的十进制:

    十进制就是逢10进位,十进制是由0、1、2、3、4、5、6、7、8、9这10个基本数字组成。每次在9之后(也就是10)就进一位,我们可以把9先理解成09,10就是在09的9的钱一位进一位,9回到0就变成了10,同理19的9的前一位1进一位变成2,9回到0,我们再看一下99,我们先把99写成099,099加1最末尾的9需要进位,末尾变回0,末尾的上一位(也就是十位)进一位,十位的9加1,需要向十位的上一位进一位(也就是百位),百位原本是0,进一位变成1,所以,99+1有连续两次进位是100了。在十进制中,10是基数。位值相同,上一位是下一位的10倍,如880,百位的8表示的数值是十位8的10倍。

    同理,二进制就是逢2进位,二进制只有0、1两个基本数字,0是00,1是01,2需要进位变成10,3是11,4又要进位,变成100,5是101,6是110,7是111,8又要进位,变成1000。在二进制中,2是基数,相邻两位相差2倍。如110,100是4,10是2,相差2倍。

    十六进制是逢16进位,十六进制是由0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f这16个符号表示各位。由于各位数字不够16个,所以增加了a~f 这6个字母表示十六进制10~15的各位。所以,十六进制中a是10,b是11,c是12,d是13,

    展开全文
  • 如下所示: var hex="0x29";//十六进制 ...//将int值转换十六进制 alert("hex:"+hex+"\ncharValue:"+charValue+"\ncharCode:"+charCode+"\nhexOri:"+hexOri); 以上就是小编为大家带来的javascrip
  • C语言 · 十六进制十进制问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535...
  • 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示. 样例输入 FFFF 样例输出 65535 思路:感觉自己的下面两个方法...
  • ASCII及十六进制转换工具《建》

    热门讨论 2010-09-11 10:39:41
    转换多个字符为ASCII码(十进制)及十六进制,且可加入前置及后置字符。 字符转ASCII(即字符的十进制): 其中字符转换为ASCII码中,如果字符为汉字(即双字节) 可选择:正数、负数或者字节分离三种表示方式 利如汉字...
  • 一、十进制整数转换为二进制 一般方法:对所给数字除以2进行求余,然后从最后一个余数读到第一个余数,以11为例。 可求得其二进制为:1011 针对不太大的数字,我们可以用简便方法。 首先,我们解析一下十进制数字,...
  • #include"csapp.h" /*本代码将点分十进制形式的ip地址转化为十六进制数并且输出*/ //返回一个字符串代表的整数 intstr2int(char*str) { //要注意变量的初始化 intvalue=0; //字符串长度 intlength=...
  • #!/usr/bin/envpython #-*-conding:utf8-*- defemac(argv): emac=[] foriinargv.split('.'): try: ifint(i)<=255: emac.append(hex(int(i))[2:]) else: prin...
  • '''C transition to IP address ''' def macip(argv):  mac = []  for i in argv.split(':'):  mac.append(int(i,16))  mac="%s.%s.%s.%s.%s.%s" %tuple(mac)  return mac[6:] if __...
  • BUPT 2012 计算机 ProblemD | 十六进制十进制、getline(str)、getchar()
  • IP地址转换的好东西支持二进制、八进制、十进制十六进制
  • Because the above IP address has 32 bits, we can represent it as the unsigned 32 bit number: 2149583361 Complete the function that takes an unsigned 32 bit number and returns a string representation ...
  • 1.十进制转换为R进制 都是使用除数取余法来转换,...十进制转换十六进制,就一直除以16,直到余数比16小,不能除为止。 2.R进制转换十进制 都是按位乘以R的N次方相加的和,R=2/18/16 3.二进制和八进...
  • 2,二进制(B):逢二进一 3,十六进制(H):逢十六进一 数制的转换 1,十进制转换:使用除2取余法 例如:将十进制125转换为二进制 2,十,十六,二进制的转换 十进制十六进制用的也是取余数方法 二进制 十进制 ...
  • 如果有需要也可以把代码再改进下,变成支持ip十进制、二进制、八进制、十六进制ip相互转换的,欢迎大家一起来讨论。ip地址转换10进制的Python方法工具源码如下:#encoding=utf-8IP = '203.208.33.100'#This IP is...
  • 利用的就是计算机存储的特性,需要注意大小端 1. char sDec[4] = {0x05,0xc5,0xb... ip ip1; ip1.part[0] = 0x01; ip1.part[1] = 0x02; ip1.part[2] = 0x03; ip1.part[3] = 0x04; printf("%d\n", ip1.addr); 注意大小端
  • 工作中遇到的一个使用方法 利用的就是计算机存储的特性,需要注意大小端 char ... ip ip1; ip1.part[0] = 0x01; ip1.part[1] = 0x02; ip1.part[2] = 0x03; ip1.part[3] = 0x04; printf("%d\n", ip.addr); 注意大小端。
  • 将任意进制字符串转换十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制; 代码如下: parseInt(“11”, 2); // 3 2进制转10进制 parseInt(“77”, 8); // 63 8进制转10进制 ...
  • 十进制成十六进制:Integer.toHexString(inti)十进制八进制Integer.toOctalString(inti)十进制二进制Integer.toBinaryString(inti)十六进制成十进制Integer.valueOf("FFFF",16).toString()八进制转成十...
  •  当今通信标准 三、进制转换 (1)十进制 数值:0~9 数位:123 位权:百位十位个位 (2)二进制 数值:0~1 数位:101 位权:128-64-32-16-8-4-2-1 (3)十六进制 数值:0~9,A(10),B(11),C(12),D(13),E(14),F(15) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,327
精华内容 7,730
关键字:

十六进制ip转换成十进制