原码、反码、补码和字节

1.
  8个二进制位是一个字节
  Byte是一个字节
  int类型是4个字节
  Long类型是8个字节
  当Long类型强制转换为int类型时是截取高位,保留低位
2.
  先看有几个字节
  128 计算机中的二进制表示
  原码:0000 0000 0000 0000 0000 0000 1000 0000
  截取低位一个字节后:1000 0000
  最高位为符号位,1表示负数

  计算机中用补码表示有符号数
  正数的补码就是自身
2.1
  原码反码补码

  原码:为二进制的数,  如:10 原码0000 1010

  反码:正数与原码相同, 如:10 反码0000 1010

  负数为原码0变1,1变0,(符号位不变)如:-10 原码1000 1010

  反码1111 0101

  补码:正数的补码与原码相同,如:10 补码:0000 1010

  负数的补码是反码加1     如:-10 反码:1111 0101

  补码:1111 0110

  计算机中数字以补码储存,因为原码和反码计算不准确,而补码是准确的。 
  现在已知补码是1000 0000,求原始数
  补码:1000 0000
  反码:1111 1111
  原码:1000 0000, 计算机中指定它为-128

posted @   Mrzxs  阅读(661)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up dark_mode palette
选择主题