int -1 ,二进制是怎么表示de
时间: 2023-06-20 07:06:13 浏览: 110
在计算机中,int通常是32位的有符号整数,用补码表示。补码是将原码按位取反后再加上1得到的。因此,-1的原码是10000000 00000000 00000000 00000001,取反后为11111111 11111111 11111111 11111110,再加上1得到补码11111111 11111111 11111111 11111111。因此,-1的二进制表示为11111111 11111111 11111111 11111111。
相关问题
java 二进制转十进制
Java中可以使用两个方法将二进制转换为十进制。第一个方法是将十进制数转换为二进制数,第二个方法是将二进制数转换为十进制数。具体实现如下:
1. 将十进制数转换为二进制数的方法:
```
public static String Decimal2Binary(int de){
String numstr = "";
while (de>0){
int res = de%2; //除2 取余数作为二进制数
numstr = res + numstr;
de = de/2;
}
return numstr;
}
```
2. 将二进制数转换为十进制数的方法:
```
public static Integer Biannary2Decimal(int bi){
String binStr = bi+"";
Integer sum = 0;
int len = binStr.length();
for (int i=1;i<=len;i++){
//第i位 的数字为:
int dt = Integer.parseInt(binStr.substring(i-1,i));
sum+=(int)Math.pow(2,len-i)*dt;
}
return sum;
}
```
使用这两个方法,可以将二进制数转换为十进制数。
十进制转换二进制c++
要在C语言中实现十进制转换为二进制,可以使用以下代码示例:
```c
#include <iostream>
using namespace std;
int main() {
int de;
int bin;
int i=1,j=0;
cout << "输入一个十进制数:" << endl;
cin >> de;
while(de != 0) {
bin = de % 2;
de = de / 2;
j = j + i * bin;
i = i * 10;
}
cout << "转化后的二进制数为:" << j << endl;
return 0;
}
```
这段代码可以实现将用户输入的十进制数转换为二进制数并输出。它通过不断对十进制数进行取余和除法运算,将二进制数的各位数逆序得到,并使用一个变量j来保存最终的二进制结果。在每次取余运算后,需要将i乘以10,以便得到正确的二进制位数位置。最后,将结果j输出即可。<span class="em">1</span><span class="em">2</span><span class="em">3</span>