二进制和十进制的学习理解

十进制与二进制都是数据记录的一种计数方法。对于一个数据,例如5555

可以写成5555 = 5 * 1000 + 5 *100+ 5*10+5*1

           =5*10^3 +5*10^2+5*10^1+5*10^0

对于十进制来说,10就是十进制的基数,同理2就是二进数的基数。

十进制的数位是10^n。二进制的位数是2^n。按照这个思路,我们还可以推导出⼋进制(以8为基数)、十六进制(以16为基数)等等计数法。

===============================华丽分割线=====================================

java代码对数据进行实现二进制与十进制的换算

========================================================================

import java.math.BigInteger;

public class mach1 {

    /**

    * @return String

    * @Descrition: 十进制转化成二进制

    * param decimalSource

    */

    public static String decimalToBinary(int decimalSource) {

        BigInteger bi = new BigInteger(String.valueOf(decimalSource));

        //转化为BigInterger类型,默认为十进制

        return bi.toString(2);

        //参数2指定的是转化为二进制

    }

  /**

    * @Description: 二进制转换成十进制

    * @param binarySource

    * @return int

    */

    public static int binaryToDecimal(String binarySource) {

        BigInteger bi = new BigInteger(binarySource, 2);

        //转化BigInterger类型,参数2指定的是二进制

        return Integer.parseInt(bi.toString());

        //默认转化为十进制

    }

    public static void main(String[] args) {

        int a = 53;

        String b = "110101";

        System.out.println(String.format("数字%d的二进制是%s", a, mach1.decimalToBinary(a))); //获取⼗进制数53的⼆进制数

        System.out.println(String.format("数字%s的十进制是%d", b, mach1.binaryToDecimal(b))); //获取⼆进制数110101的⼗进制数

    }

}

---------------------

我们知道,计算机最底层是使用的是二进制。那么为什么只是二进制而不是十进制或者是其他进制的来作为计算机的底层呢?

这主要的原因由计算机的硬件有关,组成计算机系统的的逻辑电路只有两种状态,(接通和断开),只有两种发生的可能。当我们的计算机受到干扰的时候,任然能清楚的识别出逻辑电路的状态(接通和断开)。所以在具体的系统实现中,二进制的数据表达具有抗干扰能力强的优点。相比之下,十进制设计的状态电路就有十种状态的电路,具体的系统实现会变得非常的负责,在判断中出现错误的可能性几率会大大增大。

二进制的操作:


向左位移一位,就是原来的数字翻倍。二进制右移一位,就是将数字除于二并求整数商。(左移(<<)右移(>>>))

(这里是未考虑数字溢出情况)


所谓数字溢出,就是⼆进制数的位数超过了系统所指定的位数。目前主流的系统都⽀持⾄少32位的整型数字,因此1101010远未

超过32位,所以不会溢出。如果进行左移操作的二进制已经超出了32位,左移后数字就会溢出,需要将溢出的位数去除。

Int32    //等于int, 占4个字节(-2147483648~2147483647)

Int64    //等于long, 占8个字节(-9223372036854775808~9223372036854775807)



逻辑操作:

“或”:参与操作的位数中只要有1,最终结果就是1.

       1010(与下对齐)

       1001

 结果:1011


“与”:参与操作的位数必须全部都是1,才为1,否则为0.

          1011

          1101

  结果 1001

“异或”:参与操作的位数相同,为0,否则为1.

         100100

          110101

结果   010001

作者:不要怂,就是干

来源:CSDN

原文:https://blog.csdn.net/weixin_42013825/article/details/86745275

版权声明:本文为博主原创文章,转载请附上博文链接!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容