精华内容
下载资源
问答
  • 尝试这个:new BigDecimal(...我们来看一个例子:我们想将123从十进制转换为基数为3数字.我们做什么?>取余模3 – 将这个数字加到结果前面.>除以3.>如果...

    尝试这个:

    new BigDecimal("12345678901234567890123456789012345678901234567890").toString(2);

    编辑:

    原则上,不同数量系统之间的转换是重复的“除法,余数,乘法,加法”运算.我们来看一个例子:

    我们想将123从十进制转换为基数为3的数字.我们做什么?

    >取余数模3 – 将这个数字加到结果前面.

    >除以3.

    >如果数字大于0,请在步骤1继续该数字

    所以它看起来像这样:

    > 123%3 == 0. ==>最后一位是0.

    > 123/3 == 41.

    > 41%3 == 2 ==>第二个数字是2.

    > 41/3 == 13

    > 13%3 == 1 ==>第三个数字是1.

    > 13/3 == 4

    > 4%3 == 1 ==>第四位数字再次为1.

    > 4/3 == 1

    > 1%3 == 1 ==>第五位是1.

    所以,我们有11120作为结果.

    问题是,为此您需要以十进制格式进行某种除法,如果您没有以基于十进制的格式实现数字,通常情况并非如此(就像我在答案中所做的那样)上面提到的最后一个问题)

    但它适用于从内部数字格式转换为任何外部格式.

    那么,让我们看看我们如何进行逆向计算,从11120(基数3)到其十进制等值. (Base 3在这里是任意基数的占位符,Base 10是内部基数的占位符.)原则上,这个数字可以写成:

    1 * 3^4 + 1 * 3^3 + 1*3^2 + 2*3^1 + 0*3^0

    一个更好的方法(更快地计算)是这样的:

    ((((1 * 3) + 1 )*3 + 1 )*3 + 2)*3 + 0

    1

    3

    4

    12

    13

    39

    41

    123

    123

    (这被称为Horner方案,通常用于计算多项式的值.)

    如果您知道如何在目标系统中表示输入基数(和数字),则可以在要实现的数字方案中实现此目的.

    (I just added对我的DecimalBigInt类进行了这样的计算,但您可能希望直接在内部数据结构中进行计算,而不是为每个要输入的十进制数字创建BigNumber类的新对象(甚至两个).)

    展开全文
  • 在上一小节中我们学习了python的字符编码,我们学习到ASCII码采用一个字节(8个二进制位...又如何与我们熟悉的十进制数做转换? 我们很熟悉10进制的计数法,采用0~9,10个数字计数,每逢“十进一”,10称为基数...

    在上一小节中我们学习了python的字符编码,我们学习到ASCII码是采用一个字节(8个二进制位)长度来编码的,在最后的例子中我们又使用了16进制的格式来查看汉字的Unicode和utf-8编码。

     

    那么什么是二进制数,什么是十六进制数?他们之间如何转换?又如何与我们熟悉的十进制数做转换?

     

    我们很熟悉10进制的计数法,采用0~9,10个数字计数,每逢“十进一”,10称为基数或者底数。

    当我们书写时,约定左边是高位,右边是低位,当低位的数字超过10时,向高位进1,低位用0占位。

       9

    + 1

    ------

     10

    这就是10进制计数法。10进制很适合我们人类计数,因为人类正好有10个手指来数数。但是对计算机来说比较麻烦,需要表示0~9十种状态。

    如果我们把基数10换为2,即逢2进一,就称二进制计数法。

      1

    +1

    ------

    10

    二进制计数法只有两种状态0和1,这在计算机的电路实现上很简单,所以计算机内部是采用2进制计数法的。

     

    二进制转换为十进制很简单比如:

     

    十进制转换为二进制方法为:

    整数部分,把十进制转成二进制一直分解至商数为0。从最底左边数字开始读,之后读右边的数字,从下读到上。 小数部分,则用其乘2,取其整数部分的结果,再用计算后的小数部分依此重复计算,算到小数部分全为0为止,之后读所有计算后整数部分的数字,从上读到下。(维基百科)

     

    在实际应用中当采用二进制表示很大的数时,需要很多个二进制位,书写和阅读都不方便,转换成十进制又不是很方便。

    后来发现采用16进制数表示很方便,因为将4个Bit化成单独的16进制数字不太困难,1字节正好可以表示成2个连续的16进制数字。

    于是16进制在计算机编码中得到广泛的应用。

     

     参考资料:

    进位制:http://zh.wikipedia.org/wiki/%E8%BF%9B%E4%BD%8D%E5%88%B6

    二进制:http://zh.wikipedia.org/zh-cn/%E4%BA%8C%E8%BF%9B%E5%88%B6

    十六进制:http://zh.wikipedia.org/zh-cn/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6 

    转载于:https://www.cnblogs.com/mengfanhao/archive/2013/06/06/3121297.html

    展开全文
  • 1、什么是进制 进制:就是进位制,规定的一种进位方法。对于任何一种进制 X ,标识在...计算公式:系数 * 基数 ^ 权次(这个公式适用于任何进制到十进制的转换) 权次:从右到左的角标,从0开始 10100010 = 0*2^0 + 1
    1、什么是进制

    进制:就是进位制,规定的一种进位方法。对于任何一种进制 X ,标识在某一位上的数运算时,逢X进一。
    二进制:逢2进1,用0和1表示;
    八进制:逢8进1,0-7;
    十进制:逢10进1,0-9;
    十六进制:逢16进1,0-9,A-F(10-15);
    我们默认使用的是10进制计数。

    2、二进制和十进制的相互转换
    • 二进制----->十进制:
    • 计算公式:系数 * 基数 ^ 权次(这个公式适用于任何进制到十进制的转换)
      权次:从右到左的角标,从0开始
     10100010 = 0*2^0 + 1*2^1 + 0*2^2 + 0*2^3 + 0*2^4 + 1*2^5 + 0*2^6 + 1*2^7
     		  =  0 + 2 + 0 + 0 + 0 + 32 + 0 + 128
     		  = 162
    

    二进制的10100010 转换为十进制为162。

    • 十进制----->二进制:
    • 计算公式:基数 / 要转换到的进制,直到除尽或者余数为0,然后反向排列余数得到转换后的进制数(适用于十进制转换到其他任何进制)。
      十进制162转换为二进制:
      162 / 2 ---- 得 81----- 余 0
      81 / 2 ------得40 ------余 1
      40 / 2-------得20 ------余 0
      20 / 2-------得10 ------余 0
      10 /2 -------得5 ------- 余 0
      5 / 2 --------得2 ------- 余 1
      2 / 2 --------得1 ------- 余 0
      然后反向取值得到:10100010

    其他进制和十进制的相互转换道理相同。

    3、java常用类型能存储的大小:

    计算机是使用二进制存储数据的,是已补码的形式存储的,一个字节(byte)占8位(bit),首位是表示符号位,0:正,1:负,不然计算机不知道正负。其余位数标识数值的大小,正数的补码就是原码,负数的补码是去除首位,其余位取反,然后结果加1,在变成负数。

    • byte:1个字节,8位能存储 -128 ~ 127
      01111111: 标识最大的正数值,10000000:标识最小的负数值。
      01111111变为十进制,去除首位,其余7位运算,得到最大值127:
    1111111 = 1*2^0 + 1*2^1 + 1*2^2 + 1*2^3 + 1*2^4 + 1*2^5 + 1*2^6
    		= 1 + 2 + 4 + 8 + 16 + 32 + 64
    		= 127
    

    而10000000首位为1标识负数,负数转换的时候去除首位,后面的按位取反得到反码计算结果然后加1,10000000去除首位然后取反得到1111111,转换为10进制:

    1111111 = 1*2^0 + 1*2^1 + 1*2^2 + 1*2^3 + 1*2^4 + 1*2^5 + 1*2^6
    		= 1 + 2 + 4 + 8 + 16 + 32 + 64
    		= 127
    		= 127 + 1(首位是负数所以结果在加1)
    		= 128
    		= -128(变成负数)
    

    所以byte能存储数值的范围是 -128 ~ 127。

    • short:2个字节,16位,-32768~32767
    • int:4个字节,32位, -2^31 ~ 2^31-1
    • long:8个字节,64位,-2^63 ~ 2^63-1
    展开全文
  • 共同点:都有基数,二进制基数是2,八进制基数是8,十进制基数是10,16进制基数是16 各个进制转换为10进制就是基数*位次幂 十进制转为二进制,除二求余法,从下往上读。 十进制转为八进制,除八求余法,从下往上读。...

    一般是十进制数,什么都不用加
    二进制数0b开头(逢二进一)
    八进制数以0开头
    十六进制以0x开头,0-9,A代表10,B代表11,C代表12D13

    共同点:都有基数,二进制基数是2,八进制基数是8,十进制基数是10,16进制基数是16
    各个进制转换为10进制就是基数*位次幂
    十进制转为二进制,除二求余法,从下往上读。
    十进制转为八进制,除八求余法,从下往上读。
    十进制转为16进制,除16求余法,从下往上读。
    其他进制相互转可以先转为十进制,再转为相应的进制。

    二进制0与二进制负数
    最高位表示符位号,0正1负
    这里分为原码(除二求余发得到的就是原码)
    反码:原码取反就是反码,0-1,1-0
    补码:负数用补码表示,最高位符号位(0正1负) 其余取反。然后+1(逢二进一)

    二进制负数如何转为十进制
    符号位不变,其他位取反,然后加1。

    二进制的位运算
    1.& 与运算,遇0则0
    2.| | 或运算,与1则1
    3.~ 取反运算。0-1,1-0
    4.^ 异或运算不进制加法
    5>>右移 补符号位,0补0,1补1
    6.<<左移 补0
    7.>>>无符号右移 补0

    展开全文
  • 二进制、八进制、十进制、十六进制关系及转换

    万次阅读 多人点赞 2019-02-21 21:20:22
    二进制,八进制,十进制,十六进制之间的关系是什么?浮点数是什么回事? 本文内容参考自王达老师的《深入理解计算机网络》一书&amp;amp;amp;...十进制的基数是10,也就是说,十进制有10个数字符
  • 一、表示方法 1、八 进制 定义: 一种以8为基数的计数法,采用 0,1,2,3,4,5,6,7八个数字,逢八进1。 ...编程中如何表达: ...所以规定,一个数如果要指明它采用八进制,...N进制的数可以用 0~(N-1) 的数表示,超
  • 一、什么是进位计数制数制也称计数制,指用一组...常用进位计数制:1、十进制(Decimal notation),有10个基数:0 ~~ 9 ,逢十进一;2、二进制(Binary notation),有2 个基数:0 ~~ 1 ,逢二进一;3、八进制(Octa...
  • 进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一”,借位规则“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上进制系统,数据在计算机中主要...
  • 通俗的理解就是:二进制是计算机所能理解的数,所有都建立在2进制之上的,它只有0和1。 数字都有位数,那么常见的字节,位,兆等如何换算呢? 位和字节及常见存储单位常见单位有: 位:bit 、小b、 比特 ...
  • 进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一”,借位规则“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上进制系统,数据在计算机中主要...
  • 进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一”,借位规则“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上进制系统,数据在计算机中主要...
  • 进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一”,借位规则“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上进制系统,数据在计算机中主要...
  • 我们介绍在数字电子技术中,特别在PLC中常用2,8,10,16进制。关于2,8,10,16进制的三要素,如下表所示:本来,N进制...例如:1101二进制、八进制、十进制还是十六进制数呢?为了明确区分,我们就在数的前...
  • 今天有几个人跑过来问我,二进制是什么东西?我心想,你们算是问对人了,于是张口就来,这是一个非常神奇东西,能让1+1等于10,瞬间感觉看到他们头上飘过几个what?小便准备先给他们解释一下官方说法,于是拿出...
  • 数制的概念与常用的数制之间如何实现转化呢一、首先我们来看一下,数制和与它相关的基数、位权...(如果这里看不懂,往后看就明白了)例如:十进制的基数是10;八进制的基数是8。位权(位的权数):进位计数制中,某...
  • 进制数据用0和1两个数码来表示的数,它的基数为2,进位规则逢二进一 加法:0+0=0;1+0=1;0+1=1;1+1=0(等价于10,向前进一) 案例(前面用0补齐) 1+1=10,10+1=11,11+1=100,100+1=101,101+1=110,110+1=111,111+1...
  • 【JavaScript实现十进制转换成二进制】 什么是二进制 二进制计算技术中广泛采用的一种数制。二进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一”,借位规则...
  • 进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一”,借位规则“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上进制系统,数据在计算机中主要...
  • 什么是进制?进制也进位制,人们规定的一种进位方法。...十进制十进制的基本数字0、1、2、3、4、5、6、7、8、910称做"基数",10^n(10的n次幂)被称作"权"。10000 = 1 * 10^41000 = 1*10^3100 = 1*10^210 =...
  • 二进制与十进制的“战争” 题外话 周六我们首先讨论了关于软件更新的问题,当你看见软件提示更新后,你会更新吗? 许多同学表达了自己的看法,表示不会更新,费流量费时间,而老师表示他会立即更新,更新后的软件...
  • 一、什么是进位计数制数制也称计数制,指用一组...常用进位计数制:1、十进制(Decimal notation),有10个基数:0 ~~ 9 ,逢十进一;2、二进制(Binary notation),有2 个基数:0 ~~ 1 ,逢二进一;3、八进制(Octa...
  • 什么是进制?进制也进位制,人们规定的一种进位方法。...十进制十进制的基本数字0、1、2、3、4、5、6、7、8、9 10称做”基数”,10^n(10的n次幂)被称作”权”。10000 = 1 * 10^4 1000 = 1*10^3 100 = 1*10^2 1
  • 开发过程中,一般直接定义的整型数据类型默认都十进制数据输出的。 一.什么是二进制数据? 二进制计算技术中广泛采用的一种数制。二进制数据用0和1两个数码来表示的数。它的基数为2,进位规则“逢二进一...
  • 进制基础

    2021-01-08 11:31:13
    二进制 ...说明:任何进制都是有基数(Radix)的,十进制的基数是10,二进制的基数是2。 3.二进制和十进制的转换 数字x基数^位次幂+ 例如:十进制数12表示的数就是:2x10 ^0 + 1x10 ^1 二进制数0101表
  • 十进制计数使用 10 作为基数,二进制使用 2 作为基数,二进制的数位就是 2^n 的形式。 计算机为什么使用二进制? 二进制的数据表达具有抗干扰能力强、可靠性高德优点;二进制非常适合逻辑运算。 二进制的位操作 ...
  • 什么是进制?进制也进位制,人们规定的一种进位方法。...十进制十进制的基本数字0、1、2、3、4、5、6、7、8、910称做"基数",10^n(10的n次幂)被称作"权"。10000=1*10^41000=1*10^3100=1*10^210=1*10^11=1...
  • 最近在学习极客时间的课程--程序员的数学基础课。 课程地址:time.geekbang.org/column/intr… 这第一节课程的学习笔记--有关进制的...例如二进制数字110101,它转换为十进制的表示过程如下: 根据这个思路,八...
  • 关于进制,前几天一朋友询问二进制和十六进制的区别。遂在此总结一下关于进制的相关知识,回忆一下计算机的基础内容,也帮朋友更好的理解一下。 定义: 进位制一种记数方式,亦称...现在最常用的进位制是十进制...
  • 进制的前世今生

    2020-04-19 09:36:59
    什么是进制? 进制又称之为进位制,以下引自维基百科维基百科 进位制一种记数方式,亦称进位计数...现在最常用进位制是十进制,这种进位制通常使用10个阿拉伯数字(即0-9)进行记数。 为什么计算机使用二进制 ...
  • 文章目录1. 进制是什么2. 进制的转换3. 计算机自己的想法4. C语言中的进制 1. 进制是什么 进制也就是进位计数制 基数与权: ...运算简单:与十进制数相比,二进制数的运算规则要简单 适合逻辑: 0 和 1 与

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

十进制的数的基数是什么