0开始表示8进制,0x开始表示16进制,没有专门的二进制表示方法。
就是二进制表示的ASCII码的最后4位1变成0,0变成1。。其他不变
c++中负数存储时,不是简单的将符号位置为1,而是采用补码的形式存储的:负数最高位为符号位,也就是1,其余全部取反,然后再加1。假如操作系统是32位,-1的二进制存储不是:1000 0000 0000 0001,而是:1111 1111 1111 1110+1即1111 1111 1111 1111
8个二进制数表示的最大2进制数是:11111111
合十进制的255
所以选B201
计算机里的数据都是二进制保存的。无论是float还是double型的,实际保存的时候,都是0和1的组合,都是二进制的。
C语言中整型常量才能进行位运算,这是这个语言所作出的限制,与计算机没有什么关系。它如果被设计成允许其他类型数据可以进行位运算,也是可以的。只是由于数据保存方式的特殊性,其他类型数据做位运算从可理解性和实现效率方面来说,都有缺点,所以不适合做位运算。
你可以查阅一下float型在内存中具体是怎么保存的(和科学计数法有些类似),就会明白为什么对它进行位运算不好。
举报成功
经过核实后将会做出处理
感谢您为社区和谐做出贡献
扫码参与新品0元试用
晒单、顶楼豪礼等你拿