240 发简信
IP属地:海南
  • int8占1个字节,1字节(byte)占8位(bit)

    其中最高位代表符号位 1-负号;0-正号

    那么最大数值的二进制为:
    0 1 1 1 1 1 1 1
    换算成10进制为 从低位到高位开始计算
    0 1 1 1 1 1 1 1
    0*2^7 + 1*2^6 + 1*2^5 + 1*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 1*2^0
    0 + 64 + 32 + 16 + 8 + 4 + 2 + 1
    = 127

    最小数值的二进制应与最大数值相反(忽略最高位)
    1 0 0 0 0 0 0 0
    换算成10进制为 从低位到高位开始计算
    1 0 0 0 0 0 0 0
    1*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0
    128 + 0 + 0 + 0 + 0 + 0 + 0 + 0
    = 128

    其实还有一种很好理解的解释
    1.int8占1个字节(byte) 也就是8个二进制位(bit)
    2.每个二进制位 可以存储0 和 1 两个数 ,8个二进制位就有2^8 = 256种组合(可以存储256个数)
    3.int8为有符号,所以正数和负数将平分256个数。256 / 2 = 128
    4.负数为128个数 最小值为-128
    5.正数为128个数,0占一个数 最大值为+127

    如果是uint8(8bit无符号-没有负数) 2^8 = 256
    0 占一个数 ,所以最大是255

    1、为什么int8的取值范围是-128~127呢?

    为什么int8的取值范围是-128~127呢?首先需知道1字节是8位:0000 0000 字节的第一位为符号位1000 0000 0为正值,1为负值因为 int8 总...

  • 2的7次方=128 文章解释的不太正确 希望其他人别误解了

    1、为什么int8的取值范围是-128~127呢?

    为什么int8的取值范围是-128~127呢?首先需知道1字节是8位:0000 0000 字节的第一位为符号位1000 0000 0为正值,1为负值因为 int8 总...

  • 180
    _Cps ·

    128是2的7次方。你的内容有误。另外不是int 8就是表示2的8次方。int 8 的变量存储为 1 个字节的(8 位)有符号整数

  • 博主,最后一行代码
    channel.basicConsume(queueName, true, new MyConsumer(channel));
    应该是监听私信队列把
    channel.basicConsume("dlx.queue", true, new MyConsumer(channel));

    RabbitMQ的死信队列详解

    死信队列介绍 死信队列:DLX,dead-letter-exchange 利用DLX,当消息在一个队列中变成死信 (dead message) 之后,它能被重新publish...

  • 120
    SpringBoot集成JWT实现token验证

    JWT官网: https://jwt.io/JWT(Java版)的github地址:https://github.com/jwtk/jjwt 什么是JWT Json web ...