C语言的转化问题
把-2转化成无符号的十进制数,怎么转化?
负数在内存中的二进制是绝对值的二进制取反加1。 2 :0000 0000 0000 0010 取反:1111 1111 1111 1101 加1 :1111 1111 1111 1110 则,-2在内存中的存放形式是1111 1111 1111 1110。 而且,有符号基本整型数的16位中,最左边第一位是符号位,0为正,1为负。这个结果也符合这个规律。 对于无符号数,左边第一位就是数据的第一位。 1111 1111 1111 1110的十进制计算式是2的15次方加2的14次方……一直加到2的1次方。也相当于无符号整型的最大值减1,那就是2的16次方减1再减1,就是65535-1,即65534
和楼上的差不多,关键是你想要那种整型,长整型(long),整型(int),还是短整型(short), -2转换成unsigned 之后,会上溢出,之后得到的就是对应的值 至于char 那个是字符.....
这个问题可得小心。关键是怎么定义整数的。 比如unsigned char a = (unsigned char)-2; 和unsigned short a = (unsigned short)-2; 和unsigned long a = (unsigned long)-2; 和... 都大不一样,只有中间那个是65534,第一个是254,最后那个更大。
问:计算机三级计算机三级请问全国计算机等级考试中的三级网络技术和数据库哪个好学一些?...
答:如果你理解能力强考数据库,其中比如关系数据库之类的需要去领悟 如果你记忆能力强考网络,各种各样的名词,背下来就得分。 还有官方指定的教材要有,上机最好做一做南开...详情>>
答:到这里下载Visual C++ 的库组件(上方有个“下载”按钮)。 安装后再试。 另,机器的用户名是中文也不行。在控制面板里改中文名为英文名。详情>>