1. 首页
  2. > 税务筹划 >

101010的原码(10101010的原码是多少)


前言

我们都知道对于有符号数据类型,二进制最左端的数字为符号位,0代表正,1代表负,这里先介绍几个概念


逻辑左移=算术左移:高位溢出,低位补0


逻辑右移:低位溢出,高位补0


算术右移:低位溢出,高位用符号位的值补


比如一个有符号位的8位二进制数10101010,[]是添加的数字


逻辑左移一位:0101010[0]


逻辑左移两位:101010[00]


算术左移一位:0101010[0]


算术左移两位:101010[00]


逻辑右移一位:[0]1010101


逻辑右移两位:[00]101010


算术右移一位:[1]1010101


算术右移两位:[11]101010



算术左移和算术右移主要用来进行有符号数的倍增、减半


逻辑左移和逻辑右移主要用来进行无符号数的倍增、减半


(Java中是没有无符号数据类型的,C和C 中有)



public static void main(String[] args) { // 20 System.out.println(10 << 1); // -20 System.out.println(-10 << 1); // 5 System.out.println(10 >> 1); // -5 System.out.println(-10 >> 1); // 5 System.out.println(10 >>> 1); // 2147483643 System.out.println(-10 >>> 1); }


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息