电脑编程,二进制、八进制、十六进制分别怎么算
谢邀。
首先,我们要明白,计算机里所有的数字都是二进制的,而十进制,八进制,十六进制只是不同的书写方式,对于计算机来说,所有的数值运算,都是二进制的运算。所以,不管你是用二进制还是十六进制,对计算机来说,没有任何区别。

举个例子:
int i = 0x10 + 011 + 12;
和
int i = 16+9+12;
是等价的,都可以顺利执行。
明白了这一点我们再来看如何在程序中输入和输出不同进制的数字。各个主流语言都对不同进制数字的输入输出提供了支持,只需要在输入输出时指定格式就可以了。以C语言为例,可以使用%o指定八进制格式,%d指定十进制格式,%x指定十六进制格式。
许多编程语言有特定的处理方法,以Java为例:
1.首先了解一下各进制的表示方法:
java中默认是十进制不使用前置符号,可以使用前置符号表示八进制,十六进制,二进制使用前置符号进行区分。
八进制: 前置符号为0
十六进制: 前置符号为0x 或者 0X
2.接着了解一下各进制之间的相互转换:
//八进制、十进制、十六进制转为二进制 System.out.println("Integer.toBinaryString(01)="+Integer.toBinaryString(01)); System.out.println("Integer.toBinaryString(10)="+Integer.toBinaryString(10)); System.out.println("Integer.toBinaryString(0xa)="+Integer.toBinaryString(0xa));
//十进制、十六进制转为八进制 System.out.println("Integer.toOctalString(0x12)="+Integer.toOctalString(0x12)); System.out.println("Integer.toOctalString(18)="+Integer.toOctalString(18));
//八进制、十进制转为十六进制 System.out.println("Integer.toHexString(012)="+Integer.toHexString(012)); System.out.println("Integer.toHexString(10)="+Integer.toHexString(10));
当然,Java中还提供了许多关于进制运算的方法,比如位运算,在此不再赘述!
计算机是怎么识别二进制的?或者应该说问处理器是怎么识别1和0的
要想了解计算机怎么识别二进制0和1首先我们要了解门电路,而门电路的逻辑关系就是,与 或 非 即0和1。门”是这样的一种电路:它规定各个输入信号之间满足某种逻辑关系时,才有信号输出,通常有下列三种门电路:与门、或门、非门(反相器)。从逻辑关系看,门电路的输入端或输出端只有两种状态,无信号以“0”表示,有信号以“1”表示。也可以这样规定:低电平为“0”,高电平为“1”,称为正逻辑。反之,如果规定高电平为“0”,低电平为“1”称为负逻辑,然而,高与低是相对的,所以在实际电路中要先说明采用什么逻辑,才有实际意义,例如,负与门对“1”来说,具有“与”的关系,但对“0”来说,却有“或”的关系,即负与门也就是正或门;同理,负或门对“1”来说,具有“或”的关系,但对“0”来说具有“与”的关系,即负或门也就是正与门。








