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

    2021-01-15 19:28:34
    八进制转换二进制 题目描述 请将一个100位以内的8进制整数转换为2进制整数! 输入 100位以内的8进制整数 输出 该数对应的2进制整数 样例输入复制 12376532347173217361 样例输出复制 ...

    八进制转换二进制

    题目描述
    请将一个100位以内的8进制整数转换为2进制整数!
    输入
    100位以内的8进制整数
    输出
    该数对应的2进制整数
    样例输入复制
    12376532347173217361
    样例输出复制
    1010011111110101011010011100111001111011010001111011110001

    #include <bits/stdc++.h>
    using namespace std;
    string t[8] = {"000","001","010","011","100","101","110","111"};
    string s,r="";
    int main() {
        cin>>s;
        for(int i=0; i<s.size(); i++) {
            r=r+t[s[i]-'0'];
        }
        while(r[0]=='0') {
            r.erase(0,1);
        }
        if(r=="") cout<<0;
        else cout<<r;
        return 0;
    }
    
    
    展开全文
  • Java进制转换 Java的Integer类中自带...//十进制转二进制 Integer.toBinaryString() //十进制转八进制 Integer.toOctalString() 因此,如果需要从十六进制转换成八进制或其他进制,需要用到 Integer.valueOf() Int...

    Java进制转换

    Java的Integer类中自带的函数只能十进制的转成其他进制的。如下:

    //十进制转十六进制
    Integer.toHexString() 
    //十进制转二进制
    Integer.toBinaryString()
    //十进制转八进制
    Integer.toOctalString()
    

    因此,如果需要从十六进制转换成八进制或其他进制,需要用到

    Integer.valueOf()
    Integer.parseInt()
    

    这两个函数可以将String类型的数转换成Integer类型或int型。加了radix参数后就能实现进制转换。例子如下:十六进制转换八进制

    //定义一个十六进制的数
    String str = "123ABC";
    //将十六进制的数转成十进制
    int temp = Integer.parseInt(str,16);
    //十进制转成八进制
    int result = Interge.toOctalString(temp);
    //如果返回值需要是String类型
    String str_result = Interge.toString(temp,8);
    
    展开全文
  • python八进制转二进制Python is known for being powerful and easy to use when it comes to math. Both its native capabilities and resourceful libraries like NumPy, Pandas, or Scikit-learn, provide ...

    python八进制转二进制

    Python is known for being powerful and easy to use when it comes to math. Both its native capabilities and resourceful libraries like NumPy, Pandas, or Scikit-learn, provide developers with the necessary tools for heavy lifting numbers. But sometimes we need to step outside the decimal world and work with one of the other common number bases.

    Python在数学方面功能强大且易于使用。 它的本机功能和资源丰富的库(例如NumPy,Pandas或Scikit-learn)都为开发人员提供了繁重工作的必要工具。 但是有时我们需要走出十进制世界,并使用其他常见的数字基数之一。

    A number base is the number of digits that a system of counting uses to represent numerical values. The most prevalent number system is the decimal system, also known as base 10. In decimal, the digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 represent every possible value. But computers and software developers often need to use other bases.

    数字基数是计数系统用来表示数值的位数。 最普遍的数字系统是十进制,也称为基数10。在十进制中,数字0、1、2、3、4、5、6、7、8和9表示每个可能的值。 但是计算机和软件开发人员经常需要使用其他基础。

    Of all its cousins, the decimal system invites binary, hexadecimal, and octal over for dinner the most. The others fall into that special category of cousin you avoid when you’re with friends. However, if you plan on using binary, hexadecimal, or octal you may need to brush up on your Python. They are not as clean and easy to use in Python as base 10.

    在所有表亲中,十进制系统最多邀请二进制,十六进制和八进制作为晚餐。 其他人属于表亲的特殊类别,与朋友在一起时避免使用。 但是,如果计划使用二进制,十六进制或八进制,则可能需要重新使用Python。 在Python中,它们不如base 10干净,易于使用。

    二元 (Binary)

    Binary only uses the digits 0 and 1. From these two, it can account for every possible value, the same a the decimal system. Do you remember place values from grade school? That’s exactly how it works. In decimal, every place increases by a multiple of ten, but in binary, every position increases by a multiple of two.

    二进制仅使用数字0和1。从这两个数字中,它可以解释每个可能的值,就像十进制一样。 您还记得小学时的地价吗? 这就是它的工作原理。 以十进制表示时,每个位置均增加十倍,而以二进制表示时,每个位置均以两个倍数增。

    Image for post
    Base 10 Place Values with Example Numbers of 10, 100, and 1000
    以10、100和1000为例的以10为基的地方值
    Image for post
    Base 2 Place Values
    以2为基数的值

    For example, 101 would represent a value of 5.

    例如,101表示值为5。

    Image for post

    And 10101 would represent a value of 21.

    10101代表21。

    Image for post

    Ever wonder why your network subnet mask looks something like 255.255.255.0? Because each of those numbers separated by a period is made up of an eight-digit binary number, 11111111.

    有没有想过为什么您的网络子网掩码看起来像255.255.255.0? 因为每个数字之间用句点分隔,所以它们由八位二进制数11111111组成。

    Image for post

    We could have started this section by stating, “Binary only uses 10 digits.” If you don’t get the joke, read the explanation of how binary works again.

    我们可以通过声明“二进制仅使用10位数字”来开始本节。 如果您没有开玩笑,请阅读有关二进制如何再次工作的说明。

    In Python, using binary numbers takes a few more steps than using decimal numbers. When you enter a binary number, start with the prefix ‘0b’ (that’s a zero followed by a minuscule b).

    在Python中,使用二进制数比使用十进制数要花更多的步骤。 输入二进制数时,请以前缀“ 0b”开头(即为零,后接小数b)。

    0b11is the same as binary 11, which equates to a decimal 3. It’s not hard, but it is extra work. Whenever you want to store a binary value in a variable, it will convert it to decimal for you.

    0b11与二进制11相同,等同于十进制3。这并不难,但是这是额外的工作。 每当您要将二进制值存储在变量中时,它将为您将其转换为十进制。

    number1 = 0b11

    number1 = 0b11

    This results in the variable number1 storing a value of three. It just stores the value without indicating you’d like it represented in binary. So, when you retrieve it, you’ll get a decimal value of 3. Truthfully, Python processes all the mathematical operators independent of base, but it always returns them to you in decimal.

    这导致变量number1存储值为3。 它只是存储值,而没有表明您希望用二进制表示。 因此,当您检索它时,将得到一个十进制值3。实际上,Python处理所有与基数无关的数学运算符,但始终以十进制返回它们。

    “But what if I want to have my numbers returned to me in binary?”

    “但是如果我想将我的数字以二进制形式返回给我怎么办?”

    Glad you asked.

    很高兴你问。

    If you’d like to keep numbers in your code strictly binary, here’s a solution.

    如果您想将代码中的数字严格保留为二进制,这是一种解决方案。

    >>> num1 = "0b100"
    >>> num2 = "0b110"
    >>> mysum = int(num1, 2) + int(num2, 2)
    >>> print(bin(mysum))
    0b1010

    In the code snippet above, we started by assigning a string of “0b100” to the variable num1. Next, we assigned a string of “0b110” to the variable num2. So we have two variables of type string storing the binary representation of 4 and 6, respectively.

    在上面的代码片段中,我们首先为变量num1分配了字符串“ 0b100”。 接下来,我们将字符串“ 0b110”分配给变量num2 。 因此,我们有两个类型为string的变量,分别存储4和6的二进制表示形式。

    Next, we added the two numbers. But as we did that, we converted each to an integer in base 10 using the function int(). Normally int() would throw an error given a string with a letter in it. By specifying the second parameter of 2, we instruct int() to interpret the string as a binary number. So, it stays happy.

    接下来,我们将两个数字相加。 但是这样做时,我们使用函数int()将每个都转换为以10为底的整数。 通常,给定一个带有字母的字符串,int()会抛出错误。 通过指定第二个参数2,我们指示int()将字符串解释为二进制数。 因此,它保持快乐。

    You can use the second parameter to specify any base between 2 and 36. Bases 2 and 36 are included in the range.

    您可以使用第二个参数指定2到36之间的任何底数。范围中包括2到36的底数。

    After we add the two numbers together and store the result in mysum, we print the sum. But it’s been stored independent of base. When we recall it, it still wants to present it to us in decimal. So we must tell Python we want our number in binary. Using the bin() function converts the value to binary before it’s printed to the screen.

    将两个数字相加并将结果存储在mysum ,我们将打印出总和。 但它的存储独立于基础。 当我们回想起它时,它仍然想以十进制形式将其呈现给我们。 所以我们必须告诉Python我们想要二进制数。 使用bin()函数可在将值打印到屏幕之前将其转换为二进制。

    The above code gives you a clear representation of binary in Python. However, you may also use a more abbreviated version, like this.

    上面的代码为您提供了Python中二进制的清晰表示。 但是,您也可以使用这样的缩写形式。

    >>> num1 = 0b100
    >>> num2 = 0b110
    >>> mysum = num1 + num2
    >>> print(bin(mysum))

    You get the same result. The sole difference is how you are storing the numbers in variables num1 and num2. If you print either variable to the screen in the first example, you will see it in binary even though it’s technically a string. In the second example, you will see a decimal unless you use bin() to convert it.

    您得到相同的结果。 唯一的区别是如何将数字存储在变量num1num2 。 如果在第一个示例中将任何一个变量打印到屏幕上,即使从技术上讲它是一个字符串,您都将以二进制形式看到它。 在第二个示例中,除非使用bin()进行转换,否则将看到一个小数。

    >>> num1 = "0b100"
    >>> print(num1)
    "0b100">>> num1 = 0b100
    >>> print(num1)
    4
    >>> print(bin(num1))
    0b100

    十六进制 (Hexadecimal)

    Decimal uses ten digits, binary uses two digits, and hexadecimal uses sixteen digits. Since we only have the ten digits from the decimal system to use, we substitute letters for everything above the number nine. Therefore, the digits in hexadecimal are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F. They represent zero through nine, then A is worth ten, B is worth eleven, C is worth twelve, D is worth thirteen, E is fourteen, and F wraps up with a value of fifteen. So, there are sixteen digits in hexadecimal. If you write that in hexadecimal, you can state, “Hexadecimal has 10 digits.”

    十进制使用十位数字,二进制使用两位数字,十六进制使用十六位数字。 由于我们只能使用十进制的十位数字,因此我们用字母代替数字9以外的所有内容。 因此,十六进制数字为0、1、2、3、4、5、6、7、8、9,A,B,C,D,E和F。它们表示从零到九,则A值得十,B值十一,C值十二,D值十三,E值十四,F值十五。 因此,十六进制有十六位数字。 如果用十六进制写,则可以说:“十六进制有10位数字。”

    Wait? Haven’t we seen that before? Yes. Honestly, a ‘10’ always represents the total number of digits in any base if you are writing the number in the respective number system. But it’s only funny in binary.

    等待? 我们以前没看过吗? 是。 老实说,如果您在相应的数字系统中写入数字,则“ 10”始终代表任何基数的总位数。 但这只是二进制形式的有趣。

    When denoting hexadecimal numbers in Python, prefix the numbers with ‘0x’. Also, use the hex() function to convert values to hexadecimal format for display purposes.

    在Python中表示十六进制数字时,请在数字前加上“ 0x”。 同样,使用hex()函数将值转换为十六进制格式以用于显示。

    Our two hexadecimal code samples are similar to the ones we used for binary.

    我们的两个十六进制代码样本类似于我们用于二进制的样本。

    >>> hnum1 = "0x10"
    >>> hnum2 = "0x10"
    >>> myhsum = int(hnum1, 16) + int(hnum2, 16)
    >>> print(hnum1)
    "0x10"
    >>> print(myhsum)
    32
    >>> print(hex(myhsum))
    0x20>>> hnum1 = 0x10
    >>> hnum2 = 0x10
    >>> myhsum = hnum1 + hnum2
    >>> print(hnum1)
    16
    >>> print(myhsum))
    32
    >>> print(hex(myhsum))
    0x20

    八进制 (Octal)

    Finally, the same holds for octal. Any guesses on how many digits are in the octal number system? Octal stands for eight. Right, octal contains eight digits. And instead of bin() or hex(), we use oct() to convert numbers to octal in Python. We prefix octal numbers with a zero followed by a lowercase o, like ‘0o’.

    最后,八进制也是如此。 关于八进制数字中有多少位数的任何猜测? 八进制代表八。 对,八进制包含八位数字。 而不是bin()或hex(),我们使用oct()在Python中将数字转换为八进制。 我们在八进制数字前加一个零,后跟一个小写的o,例如“ 0o”。

    The eight digits of octal are 0, 1, 2, 3, 4, 5, 6, 7.

    八进制的八位数字是0、1、2、3、4、5、6、7。

    Let’s use the same code sample here, but we’ll use the proper notation and conversion function for octal.

    让我们在这里使用相同的代码示例,但对八进制使用正确的符号和转换函数。

    >>> onum1 = "0o10"
    >>> onum2 = "0o10"
    >>> myosum = int(onum1, 8) + int(onum2, 8)
    >>> print(onum1)
    "0o10"
    >>> print(myosum)
    16
    >>> print(oct(myosum))
    0o20>>> onum1 = 0o10
    >>> onum2 = 0o10
    >>> myosum = onum1 + onum2
    >>> print(onum1)
    8
    >>> print(myosum))
    16
    >>> print(oct(myosum))
    0o20

    结论 (Conclusion)

    The great thing about Python is it can do nearly everything except my laundry. And I’m working on that.

    关于Python的伟大之处在于,它几乎可以完成除洗衣之外的所有工作。 我正在努力。

    The takeaways are simple:

    外卖很简单:

    • Binary uses bin() and ‘0b’.

      二进制使用bin()和'0b'。
    • Hexadecimal uses hex() and ‘0x’.

      十六进制使用hex()和'0x'。
    • Octal uses oct() and ‘0o’.

      八进制使用oct()和'0o'。
    • The int() function can be used to convert numbers into a base 10 integer from any base between 2 and 36 by changing the second parameter. e.g. int(number, 30)

      通过更改第二个参数,可以使用int()函数将数字从2到36之间的任何底数转换为以10为底的整数。 例如int(number,30)

    Even though using bases outside our beloved decimal system requires a bit more effort, Python easily adapts and empowers us to go where no decimal has gone before — into the final frontier of other bases.

    即使在我们钟爱的十进制系统之外使用基数需要付出更多的努力,Python仍可以轻松地进行调整,使我们能够走到以前没有十进制的地方-进入其他基数的最终领域。

    Rod Castor helps companies Get Analytics Right! He helps international organizations and small businesses improve their data analytics, data science, tech strategy, and tech leadership efforts. In addition to consulting, Rod also enjoys public speaking, teaching, and writing. You can discover more about Rod and his work at rodcastor.com and through his mailing list.

    Rod Castor帮助公司正确完成分析! 他帮助国际组织和小型企业改善数据分析,数据科学,技术战略和技术领导力。 除了提供咨询服务外,Rod还喜欢公开演讲,教学和写作。 您可以在rodcastor.com和他的邮件列表中找到有关Rod及其工作的更多信息

    翻译自: https://towardsdatascience.com/binary-hex-and-octal-in-python-20222488cee1

    python八进制转二进制

    展开全文
  • Java程序二进制数与八进制相互转换在此程序中,您将学习使用Java中的函数将二进制数转换为八进制数,反之亦然。示例1:将二进制转换为八进制的程序在此程序中,我们将首先将二进制数字转换为十进制。然后,十进制...

    Java程序二进制数与八进制相互转换

    在此程序中,您将学习使用Java中的函数将二进制数转换为八进制数,反之亦然。

    示例1:将二进制转换为八进制的程序

    在此程序中,我们将首先将二进制数字转换为十进制。然后,十进制数字转换为八进制。

    public class BinaryOctal {

    public static void main(String[] args) {

    long binary = 101001;

    int octal = convertBinarytoOctal(binary);

    System.out.printf("%d 二进制 = %d 八进制", binary, octal);

    }

    public static int convertBinarytoOctal(long binaryNumber)

    {

    int octalNumber = 0, decimalNumber = 0, i = 0;

    while(binaryNumber != 0)

    {

    decimalNumber += (binaryNumber % 10) * Math.pow(2, i);

    ++i;

    binaryNumber /= 10;

    }

    i = 1;

    while (decimalNumber != 0)

    {

    octalNumber += (decimalNumber % 8) * i;

    decimalNumber /= 8;

    i *= 10;

    }

    return octalNumber;

    }

    }

    运行该程序时,输出为:101001 二进制 = 51 八进制

    此转换发生为:二进制到十进制

    1 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 41

    十进制到八进制

    8 | 418 | 5 -- 1

    8 | 0 -- 5

    (51)

    示例2:将八进制转换为二进制的程序

    在此程序中,首先将八进制数从十进制转换为十进制。然后,将十进制数转换为二进制数。

    public class OctalBinary {

    public static void main(String[] args) {

    int octal = 67;

    long binary = convertOctalToBinary(octal);

    System.out.printf("%d in octal = %d 二进制", octal, binary);

    }

    public static long convertOctalToBinary(int octalNumber)

    {

    int decimalNumber = 0, i = 0;

    long binaryNumber = 0;

    while(octalNumber != 0)

    {

    decimalNumber += (octalNumber % 10) * Math.pow(8, i);

    ++i;

    octalNumber/=10;

    }

    i = 1;

    while (decimalNumber != 0)

    {

    binaryNumber += (decimalNumber % 2) * i;

    decimalNumber /= 2;

    i *= 10;

    }

    return binaryNumber;

    }

    }

    运行该程序时,输出为:67 in octal = 110111 二进制

    此转换发生为:八进制到十进制

    6 * 81 + 7 * 80 = 55

    十进制到二进制

    2 | 552 | 27 -- 1

    2 | 13 -- 1

    2 | 6  -- 1

    2 | 3  -- 0

    2 | 1  -- 1

    2 | 0  -- 1

    (110111)

    展开全文
  • 进制转二进制 十进制整数转二进制 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再...
  • 八进制转二进制

    万次阅读 2009-05-26 12:26:00
    位(bit) 一位二进制数,又称比特字节(byte) 1B = 8b 内存存储的最小单元字长:同一时间内,计算机能处理的二进制位数字长决定了计算机的运算精度,字长越长,计算机的运算精度就越高。因此,高性能的计算机,其...
  • # 常见单位转换'''1bit8bits = 1Byte1024Bytes = 1k1024k = 1M1024M = 1G1024G = 1Tb(bit) = 比特B(byte) = 字节KB = 千字节MB = 兆字节GB = 吉字节TB = ...为多数'''# 十进制# 十进制转二进制:倒除法、余数逆序# ...
  • 八进制数转换成二进制原理是将八进制数的每一个位对应...package 八进制转二进制; import java.util.Scanner; import java.util.Stack; import sun.security.util.Length; public class JZtest { Stack<Integ...
  • http://jingyan.baidu.com/article/39810a23e3779db636fda6c5.html
  • 相信大家对二进制并不陌生,可能会在试卷上见过,有对计算机感兴趣的同学可能也知道,二进制是计算机的基础,今天我们就来讲一下二进制。首先,二进制是由0和1组成,原则是逢二进一,例如111.01和1011。二进制加法有...
  • c语言八进制转二进制

    2019-11-02 13:28:19
    1、八进制数拆开 2、对每一位数求二进制,并从后往前存在数组里 3、打印二维数组 */ #include<stdio.h> #include<math.h> #include<string.h> void tobin(int present,i...
  • 十进制转八进制 转二进制 java实现

    千次阅读 2018-10-30 14:49:52
    2.10进制转其他进制其实就是先取余拿到值后放在输出的最左边。也就是str = a%8 + str 。(当然16进制等10以上的数是需要替换的) 3.Unreachable code 的意思是没有用到的代码,那么说明代码前面已经跳出。或者死...
  • #include "iostream" using namespace std; #define MAX 50 int main()//八转二 { int elem2[MAX]; char elem8[MAX]; cout 请输入八进制数,并以‘$’结束:"; int flag = 1; char ch; int i = 0; whil
  • 将一个八进制数转化为一个二进制数。 输入描述 Input Description 一行,一个八进制下的整数 输出描述 Output Description 这个八进制数对应的二进制结果 样例输入 Sample Input 1234567654321 样例输出 ...
  • Java八进制转二进制

    2021-04-23 20:50:54
  • #include int main(){  int n,d,i=0,m;  char a[1000];  scanf("%o",&n);  while(n){  m=n%8;  n=n/8;  d=3;  while(d){  a[i]=m%2+'0';  
  • 进制转换二进制转八进制Prerequisite: Number systems 先决条件: 数字系统 To convert binary numbers into octal numbers, we first have to understand the relationship between binary and octal numbers. ...
  • Python-八进制转二进制input_str = input('请输入待转八进制数:')list_num = []list_octal = []lists = []t = 0def octal_binary():"""用于八进制转二进制"""for i in input_str:list_num.append(i)# print(list_...
  • 如图1所示来看看十进制转八进制,有两种方法:直接法与间接法,先看直接的方法,与十进制转二进制相同,咱们还是分整数部分转换和小数部分转换。 整数部分,除8取余法,每次将整数部分除以8...
  • java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分方便(不用...
  • 进制转换二进制转八进制,十进制,十六进制二进制转八进制二进制转十进制二进制转十六进制八进制转二进制,十进制,十六进制八进制转二进制八进制转十进制八进制转十六进制十进制转二进制,八进制,十六进制十进制转...
  • Java开发中经常需要用到进制转换,例如十进制转二进制,二进制转十进制,十六进制转二进制,十六进制转十进制,八进制转二进制等等,下面来看一些Java进制转换示例吧!16进制转10进制inthex2dec=Integer.parseInt("0...
  • 此篇博客是摘抄总结的,巩固基础。...二进制转10进制: int BinarytoDecimal(long long n) { int decimalnumber = 0, i = 0, remainder; while(n!=0) { remainder = n%10; n/=10; decimalnumber +...
  • 进制转二进制: 首先找临近这个数字最近的2的次方。 128 64 32 16 8 ... 比如13 = 8 + 4 + 1,参与相加的数字位上写1,未参与相加的数字位上写0。...二进制转八进制 已知13的二...
  • php 十六进制 十进制 八进制 二进制 进制相互转换$hex=208;//十六进制$dec=520;//十进制$oct=1010;//八进制$bin=1000001000;//二进制//decbin()//十进制转换为二进制echodecbin($dec);//1000001000//bindec()//...

空空如也

空空如也

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

八进制转二进制