zoukankan      html  css  js  c++  java
  • 一些基础问题1

    网速

    家里的宽带声称是200M的,你以为是每秒可以传输200M数据?
    其实是200Mbps(megabits per second,200兆/百万bit每秒)。注意这里是bit,需要/8转为字节byte,才是平时认知的兆字节。
    即25MB/s的传输能力。

    补码运算

    二进制运算的演化过程:

    这样,-1(1111)+1(0001)=0(10000)
    溢出最高位,剩下的即为0
    同理-8(1000)+7(0111)=-1(1111)
    (-1)*(-1)=?


    正数,三码合一
    计算机底层都以补码的方式储存数据!

    总结:

    1. 正数(如7)=负数(如-7)取反+1,负数(如-7)=正数(如7)取反+1

    2. 补码运算有溢出风险,运算结果只取范围之内的

    3. n位二进制补码最多能表示2的n次方个数,范围是-2(n-1)~2(n-1)-1
      PS: 32位操作系统的二进制补码能表示的数的范围:-2G~2G-1 (1G=1024的3次方)

    4. 计算机中,二进制转十进制:以0开头的直接转;以1开头的,先取反,再+1,再转十进制,最后加负号。

    5. 十进制转二进制,负数也是同理,先得到正数的,最后取反加1。

    6. 十进制手算转二进制:

    十六进制

    十六进制是二进制的简写,方便书写二进制数,每一位的取值是0~f。。
    Binary、Octal、Decimal、Hex分别是2、8、10、16进制(写法分别是0b开头,0开头,直接写,0x放前面,或者H放后面)

             int a = 99;
    
    	 System.out.println(a +"的二进制是: "+ Integer.toBinaryString(a));//99的二进制是: 1100011
    	 System.out.println(a +"的十六进制是: "+ Integer.toHexString(a));//99的十六进制是: 63
    

    1. 二进制转换成十六进制的方法是,取四合一法。因为二进制的每四位可合为十六进制的一位。
    2. 十六进制转为二进制,反过来就是一分四,即十六进制数的每一位可分成二进制数的四位。
    3. Java 二进制与十六进制转换
  • 相关阅读:
    Python3中最常用的5种线程锁你会用吗
    学会使用Python的threading模块、掌握并发编程基础
    数据结构与算法Python版 熟悉哈希表,了解Python字典底层实现
    博客导读
    分享canvas的一个小案例
    Php中的魔术方法
    进制简介
    Gojs学习史(一):基本定义
    Vue读书笔记:关于$ref、props和$emit
    Leaflet学习笔记(一)
  • 原文地址:https://www.cnblogs.com/xiaobingzi/p/10627514.html
Copyright © 2011-2022 走看看