以下b的值是:byte b = (byte)129;
答案是 -127
这题考察的就两个知识点:
一、强制转换(主要涉及各个类型占几个字节,这里我只简单说一下byte型占一个字节,也就是8位,int型4个字节,32位);
二、在计算机系统中,数值一律用补码来表示(存储)
正数:补码=反码=原码(当然以二进制形式表达)
129 int类型(4个字节)二进制: 00000000 00000000 00000000 10000001
强制转换byte型后,只有一个字节即 10000001(注意这里从二进制角度看,第一位是符号位,即求负数的补码接下来)
只要求出上面原码对应的补码就行了,然后再转换对应的int型数值(因为题干所给的答案都是比较int型)
10000001(原码) 对应的反码为1111 1110
又补码等于反码+1
即1111 1111 该二进制转换int型刚好是-127(1+2+4+8+16+32+64)
普及一下:正数原码,反码,补码相同
负数反码除了符号位不变,其他位取反,补码=反码+1;
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www服务器托管网.fwqtg.net
相关推荐: python 加速(1)
简单步骤
像Python一样做torch 的一切
Cuda文章目录 简单步骤 像Python一样做torch 的一切 安装Cmake 安装 Torch (GPU) CMakeLists.txt 试用小样 设置 CLion 环境 Cuda 配置VS C++ 环境 建上手的文件 step1: interpolation.…